rebuild
MonadOptimizer
SemigroupalOptimizer