val typecheck : Types.t_exp -> (Types.ftype, Types.error) result