anchor.diff:              cReader :> EntityReader
           ]
       let result = lazy ResultSets<'a, 'b, 'c>(aReader.ToEntity(), bReader.ToEntity(), cReader.ToEntity())
  -    override __.Fragments = fragments
  -    override __.Parameters = parameters
       override __.BeginResultSet(dataReader) =
           readers <- List.tail readers
           (List.head readers).ProcessColumns(DataReader.columnMap(dataReader))
  
positive.code:     | Parameter of int
  
  [<AbstractClass>]
  type Command() =
      abstract member Fragments : CommandFragment IReadOnlyList
      abstract member Parameters : obj IReadOnlyList
      
      abstract member BeginResultSet : IDataReader -> unit
      abstract member ProcessRow : unit -> unit
  
negative.code:     override __.GetResult() = result.Value
  
  type Command3<'a, 'b, 'c>(fragments, parameters) =
      inherit Command<ResultSets<'a, 'b, 'c>>(fragments, parameters)
      let aReader = ReaderTemplate<'a>.Template().CreateReader()
      let bReader = ReaderTemplate<'b>.Template().CreateReader()
      let cReader = ReaderTemplate<'c>.Template().CreateReader()
  