anchor.diff:              cil {
                   yield ldarg 0
                   yield ldfld value
  +                yield ret
  +            } |> ignore
  +
  +    static member ImplementReader(builder : TypeBuilder, element : ElementBlueprint, conversion, readerBuilder) =
  +        let generator = ManyColumnGenerator(builder, None, element, conversion)
  +        readerBuilder.Ctor ||> 
  +            cil {
  +                yield ldarg 0
  +                yield generator.DefineConstructor()
  +                yield pop
  +                yield ret'void
  +            } |> ignore
  +        readerBuilder.ProcessColumns ||>
  +            cil {
  +                yield ldarg 0
  +                yield generator.DefineProcessColumns()
  +                yield pop
  +                yield ret'void
  +            } |> ignore
  +        readerBuilder.ImpartKnowledge ||>
  +            cil {
  +                yield ldarg 0
  +                yield generator.DefineImpartKnowledgeToNext()
  +                yield pop
  +                yield ret'void
  +            } |> ignore
  +        readerBuilder.Read ||>
  +            cil {
  +                let! lbl = deflabel
  +                yield ldarg 0
  +                yield generator.DefineRead(lbl)
  +                yield mark lbl
  +                yield pop
  +                yield ret'void
  +            } |> ignore
  +        readerBuilder.ToEntity ||>
  +            cil {
  +                yield generator.DefinePush()
                   yield ret
               } |> ignore
               
  
positive.code: 
  and private ManyColumnGenerator
      ( builder
      , column
      , element : ElementBlueprint
      , elementId : Column
      , conversion : ConversionMethod
      ) =
      inherit EntityReaderColumnGenerator(builder, column)
      let elemTy = element.Output
      let staticTemplate = typedefof<_ StaticEntityReaderTemplate>.MakeGenericType(elemTy)
      let entTemplate = typedefof<_ EntityReaderTemplate>.MakeGenericType(elemTy)
  
negative.code:     abstract member DefinePush : unit -> Op<'x, 'x S>
  
  type private PrimitiveColumnGenerator(builder, column, primitive : Primitive) =
      inherit EntityReaderColumnGenerator(builder)
      let output = column.Blueprint.Value.Output
      let mutable colValue = null
      let mutable colInfo = null
  