Operators and generics for monads
