implemented `forever` method with new class implementing Monad