sig
  type result = Exp of Typeinf_syntax.Implicit.exp | ParseError of string
  val parse : string -> Typeinf_util.result
  val parse_from_file : string -> Typeinf_util.result
  val print_exp : Typeinf_syntax.Explicit.exp -> unit
  val string_of_exp : Typeinf_syntax.Explicit.exp -> string
  val string_of_typ : Typeinf_syntax.Explicit.typ -> string
  val print_typ : Typeinf_syntax.Explicit.typ -> unit
end