anchor.diff:          zero // don't initialize dictionary yet
       override __.DefineProcessColumns() =
           cil {
  +            let! skip = deflabel
               yield ldarg 1 // column map
               match column with
               | Some column ->
  
positive.code:             | None -> ()
              let! sub = deflocal typeof<ColumnMap>
              yield stloc sub
              yield ldarg 0 // this
              yield ldloc sub
              yield ldstr elementId.Name
              yield call2 ColumnMap.ColumnMethod
              yield stfld idInfo
              yield ldloc sub
              let! skip = deflabel
              yield brfalse's skip
              yield cil {
                  yield ldarg 0
                  yield call0 (staticTemplate.GetMethod("Template"))
                  yield call1 (entTemplate.GetMethod("CreateReader"))
                  yield dup
                  yield ldloc sub
                  yield callvirt2'void (elemReaderTy.GetMethod("ProcessColumns"))
                  yield stfld refReader
              }
              yield mark skip
          }
  
negative.code:                 let! entReader = deflocal elemReaderTy
                  yield dup
                  yield ldfld entDict
                  let! hasDict = deflabel
                  yield dup
                  yield brtrue's hasDict
                  yield pop
                  yield dup
                  yield newobj0 (dictTy.GetConstructor(Type.EmptyTypes))
                  yield stfld entDict
                  yield dup
                  yield ldfld entDict
                  yield mark hasDict
                  yield ldloc id
                  yield ldloca entReader
                  yield call3 (dictTy.GetMethod("TryGetValue"))
  