the only way to make all functions pure when we in...
# arrow
r
the only way to make all functions pure when we interface with external systems is to wrap them in effect capturing abstractions like MonadDefer