anchor.diff:  
   module TestInputs =
       type Priority = { p1: string }
  -    let t1 = { Title = "you have priority {p1}"
  +    let t1 = { Title = "single string arg"
                  TokenValues = [ Literal "you have priority "; NamedProperty("p1", "one"); Literal "\n" ]
                  DictionaryOfNamesAndValues = ["p1", box "one"] |> dict
                  ObjectWithNamedProps = { p1="one" } }
   
  -    type Person = { name: string }
  -    let t2 = { Title = "Hello, {name}"
  -               TokenValues = [ Literal "hello, "; NamedProperty("name", "adam"); Literal "\n" ]
  -               DictionaryOfNamesAndValues = ["name", box "adam"] |> dict
  -               ObjectWithNamedProps = { name="adam" } }
  +    type Person = { name: string; manager: string }
  +    let t2 = { Title = "two string args"
  +               TokenValues = [ Literal "hello, "; NamedProperty("name", "adam")
  +                               Literal ", your manager is "; NamedProperty("manager", "adam")
  +                               Literal "\n" ]
  +               DictionaryOfNamesAndValues = ["name", box "adam"; "manager", box "adam"] |> dict
  +               ObjectWithNamedProps = { name="adam"; manager="adam" } }
   
   module Features =   
       /// Allows a tested implementation to configure it's output with the provided TextWriter
  
positive.code:     inherit ITestable
      abstract DoIt : unit -> unit
      
  let createNamedFormatTest testTemplate tw (impl: Implementations.Implementation<_,_,_,_,_>) =
      let template = impl.initTemplate testTemplate
      let args = impl.initTemplateArgs testTemplate
      let state = impl.initOutput tw
  
negative.code:         member __.Fini () = ()
          member __.Init () = () }
  
  let createCaptureFormatTest testTemplate tw (impl: Implementations.Implementation<_,_,_,_,_>) =
      let template = impl.parse.Value (impl.initTemplate testTemplate)
      let args = impl.initTemplateArgs testTemplate
      let state = impl.initOutput tw
      { new IFormatTest with
          member __.Name = impl.Name
          member __.DoIt () = impl.captureFormat.Value template args state
          member __.Fini () = ()
          member __.Init () = () }
  
  open Implementations
  let createComparer tt =
      let tw = new System.IO.StringWriter() :> System.IO.TextWriter
      let theOne = createCaptureFormatTest tt tw fsMessageTemplates
      let theOthers = [
          createCaptureFormatTest tt tw csMessageTemplates
          createParseCaptureFormatTest tt tw serilog
          // createNamedFormatTest tt tw ioStringBuilder
          // createNamedFormatTest tt tw ioTextWriter
          createParseCaptureFormatTest tt tw stringInject
          createParseCaptureFormatTest tt tw haackFormat
          createParseCaptureFormatTest tt tw hanselmanFormat
          createParseCaptureFormatTest tt tw henriFormat
          createParseCaptureFormatTest tt tw jamesFormat
          createParseCaptureFormatTest tt tw oskarFormat
      ]
      ImplementationComparer(theOne, theOthers, warmup=true, verbose=true, throwOnError=false)
  
  