afterWith
  :: FlowChart (HaltT TestCrank) Status
  -> Resource TestCrank
  -> Req
  -> (ReqData -> ReqData)
  -> (Decision', ReqData)
afterWith s r rq f = run where
  run = case runReader (runCatchT $ step s r f) rq of
    Left e -> error $ show e
    Right a -> a
afterWith
  :: FlowChart (HaltT TestCrank) Status
  -> Resource TestCrank
  -> Req
  -> (ReqData -> ReqData)
  -> (Decision', ReqData)
afterWith s r rq f = run where
  run = case runReader (runCatchT $ step s r f) rq of
    Left e -> error $ show e
    Right a -> a
afterWith s r rq f = run where
  run = case runReader (runCatchT $ step s r f) rq of
    Left e -> error $ show e
    Right a -> a