Polymorphic bind iif the context wasn't forced, with-monad macro for forcing context