Runner
Pool
Runner.t
futures, chans, etc. should use the `Runner.t` abstraction and not depend on the exact pool implementation to run tasks. For now `Pool.create` is the only implementation of a runner, but now it's possible to implement alternatives.