The cons is that it can't be used in a for comprehension like previously discussed, because intermediate `map` and `flatMap` won't proceed until `exec` is called.