monads and costrings
output streams