sig
type 'a t = 'a Syntax.term
val equal : 'a Syntax.term -> 'a Syntax.term -> bool
val compare : 'a Syntax.term -> 'a Syntax.term -> int
val hash : 'a Syntax.term -> int
val pp :
?env:string Syntax.Env.t ->
'a Syntax.context -> Format.formatter -> 'a Syntax.term -> unit
val show :
?env:string Syntax.Env.t -> 'a Syntax.context -> 'a Syntax.term -> string
val destruct :
'a Syntax.context ->
'a Syntax.term -> ('a Syntax.term, 'a) Syntax.open_term
val eval :
'a Syntax.context ->
(('b, 'a) Syntax.open_term -> 'b) -> 'a Syntax.term -> 'b
val eval_partial :
'a Syntax.context ->
(('b, 'a) Syntax.open_term -> 'b option) -> 'a Syntax.term -> 'b option
end