pub fn infer_expr(expr: &Expr, env: &TypeEnv) -> Type
Infer the type of an expression given the current type environment.