sig
  val parse_file_exn : string -> Tip_ast.statement list
  val parse_file : string -> (Tip_ast.statement list, string) Result.result
  val parse_chan_exn :
    ?filename:string -> Pervasives.in_channel -> Tip_ast.statement list
  val parse_chan :
    ?filename:string ->
    Pervasives.in_channel -> (Tip_ast.statement list, string) Result.result
end