Ad-hoc Polymorphism in F# (how to survive without Type Classes)
withouttheloop.com