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