apply :: Monad m
  => C.CoreContext
  -> Translate m [C.CoreContext] e1 e2
  -> e1
  -> RewriteM m [C.CoreContext] e2
apply c rw e = mapEnvM (c:) $ KURE.apply rw e
apply :: Monad m
  => C.CoreContext
  -> Translate m [C.CoreContext] e1 e2
  -> e1
  -> RewriteM m [C.CoreContext] e2
apply c rw e = mapEnvM (c:) $ KURE.apply rw e
apply c rw e = mapEnvM (c:) $ KURE.apply rw e