Is there a more common name for this transformer? `ListT m a` is for `m (List a)` rather than this more progressive thing
data Tap : (Type -> Type) -> Type -> TypeFunctor m => Functor (Tap m)traverse : Monad m => (a -> m b) -> Tap m a -> m (Tap m b)filter : Monad m => (a -> Bool) -> Tap m a -> m (Tap m a)