anchor.diff:  
       let result = 
           { HttpContext = ctx; Services = services }
  -        |> testApp
  -        |> Async.RunSynchronously
  -
  -    match result with
  -    | None          -> assertFailf "Result was expected to be %s" expected
  +        |> app
  +        |> Async.RunSynchronously
  +
  +    match result with
  +    | None     -> assertFailf "Result was expected to be %s" expected
       | Some ctx ->
           let body = getBody ctx
           Assert.Equal(expected, body)
   
   [<Fact>]
   let ``POST "/POsT/1" returns "1"`` () =
  +    let app =
  +        choose [
  +            GET >>= choose [ 
  +                route "/"          >>= text "Hello World" ]
  +            POST >>= choose [
  +                route    "/post/1" >>= text "1"
  +                routeCif "/post/%i" json ]
  +            setStatusCode 404 >>= text "Not found" ]
  +
       ctx.Request.Method.ReturnsForAnyArgs "POST" |> ignore
       ctx.Request.Path.ReturnsForAnyArgs (PathString("/POsT/1")) |> ignore
       ctx.Response.Body <- new MemoryStream()
  
positive.code: 
  [<Fact>]
  let ``GET "/JSON" returns "BaR"`` () =
      ctx.Request.Method.ReturnsForAnyArgs "GET" |> ignore
      ctx.Request.Path.ReturnsForAnyArgs (PathString("/JSON")) |> ignore
      ctx.Response.Body <- new MemoryStream()
  
negative.code: 
      let result = 
          { HttpContext = ctx; Services = services }
          |> app
          |> Async.RunSynchronously
  
      match result with
      | None     -> assertFailf "Result was expected to be %s" expected
      | Some ctx ->
          let body = getBody ctx
          Assert.Equal(expected, body)
  