anchor.diff:  // subRoutef Tests
   // ---------------------------------
   
  -[<Fact>]
  -let ``routef: Validation`` () =
  -    Assert.Throws( fun () ->
  -        GET >=> choose [
  -            route   "/"       >=> text "Hello World"
  -            route   "/foo"    >=> text "bar"
  -            routef "/foo/%s/%d" (fun (name, age) -> text (sprintf "Name: %s, Age: %d" name age))
  -            setStatusCode 404 >=> text "Not found" ]
  -        |> ignore
  -    ) |> ignore
  -
  -[<Fact>]
  -let ``subRoutef: GET "/" returns "Not found"`` () =
  -    let ctx = mockHttpContext Version40
  +let subRoutefTest compatMode requestPath expected =
  +    let ctx = mockHttpContext compatMode
       let app =
           GET >=> choose [
               subRoutef "/%s/%i" (fun (lang, version) ->
  
positive.code: 
      ctx.Items.Returns (new Dictionary<obj,obj>() :> IDictionary<obj,obj>) |> ignore
      ctx.Request.Method.ReturnsForAnyArgs "GET" |> ignore
      ctx.Request.Path.ReturnsForAnyArgs (PathString("/en/10/api/Julia")) |> ignore
      ctx.Response.Body <- new MemoryStream()
      let expected = "Hello Julia! Lang: en, Version: 10"
  
      task {
          let! result = app next ctx
  
          match result with
          | None     -> assertFailf "Result was expected to be %s" expected
          | Some ctx -> Assert.Equal(expected, getBody ctx)
      }
  
  // ---------------------------------
  // subRouteCi Tests
  
negative.code: 
      ctx.Items.Returns (new Dictionary<obj,obj>() :> IDictionary<obj,obj>) |> ignore
      ctx.Request.Method.ReturnsForAnyArgs "GET" |> ignore
      ctx.Request.Path.ReturnsForAnyArgs (PathString(requestPath)) |> ignore
      ctx.Response.Body <- new MemoryStream()
  
      task {
          let! result = app next ctx
  
          match result with
          | None     -> assertFailf "Result was expected to be %s" expected
          | Some ctx -> Assert.Equal(expected, getBody ctx)
      }
  
  let subRoutefTest2 compatMode requestPath expected =
      let ctx = mockHttpContext compatMode
      let app =
          GET >=> choose [
              subRoutef "/%s/%i/api" (fun (lang, version) ->
  