Ocaml Phrasebook (part 2) Functions int foo (int bar) { let foo bar = bar + 1 return bar + 1; } Wait! Where are all the int type terms? They are inferred them from the use of + 1 template let foo bar = bleh bar T foo (T x) { return bleh (x); } Yes, it infers polymorphic types too.