Would also be super interested in nice conversions between common expressions of the same structure, like monads based on join as opposed to flat map. Not sure though - there does seems to be lots of repetition in type classes as expressed in Haskell.