Make an Execution[T] type, which is a monad, which makes composing Jobs easy.

I'm trying to think if this could break people...it definitely will if fn has side effects. Trying to think if there are "more legitimate" cases where it would as well... ie where they need the computation to happen but don't care about the result.

Still, seems like it could lead to hard to understand bugs?