fix: apply test body parser on another thread

rewrite the `run` helper to apply body parsers in another thread, thus ensuring that the execution context was prepared when the body parser was constructed, not just when it is run!

minor: rewrite use of infix syntax for combinators