monad - a functional library