problem
pub fn in_context_of<O, M, B>(msg: M, body: B) -> Result<O, Problem> where M: ToString, B: FnOnce() -> Result<O, Problem>,
Executes closure with problem_while context