Control.Monad.Operational.TH
makeSingletons