Add simple typing to untyped ML implementation

Changes from TAPL Ch 8 -> Ch 10.
Okay folks whatever you say.