Close Encounters of the Higher Kind Emulating Constructor Classes in   Standard ML
  We implement a library for encoding constructor classes in Standard ML, including elaboration from minimal definitions, and automatic instantiation of superclasses. 
Yutaka Nagashima and Liam O'Connor
cs.PL