fun square1 x = x * x; (* ? what type ? *) fun square2 (x : real) = x * x; fun square3 x = (x : real) * x; fun square4 x = x * (x : real); fun square5 x = x * x : real; (* +, -, * are overloaded *) (* Giving a function's type *)