Monads need not be endofunctors (Logical Methods in Computer Science, 2015)