What happens when a type adds driving such as:
newtype SupplyT s m a = SupplyT (StateT [s] m a)
deriving (Functor, Monad, MonadTrans, MonadIO)
Two questions:
How does the deriving implement the instance?
Is there a way for me to add my own classes in the deriving? for example
newtype .....
deriving( xyz)
Thanks