So much refactoring. CollectorMonad is gone