MonadSupply using TypeFamilies