Does anyone know of any Haskell texts that introduce 'deriving' fairly comprehensively? All I've been able to find out from what I have is that your type can derive Eq, Ord, Show etc. and then they'll magically work as if you'd written the instance declarations yourself. I've no idea how you can make your own type classes that types can 'derive' from, etc. IYSWIM, or really what's going on at all. -- Mark