implementing
future-promise with it, and so I resolved to implement a much more powerful policy driven
monad factory which could stamp out everything from an <code>option&lt;T&gt;</code> right through to a
future-promise pair, all using the exact same <code>basic_monad&lt;&gt;</code> and therefore all with a full
monadic programming API, C++ 17 continuations/monadic bind and intelligently convertible into one another.
Moreover, all this needed to have an absolute minimum impact on compile times and runtime
