anchor.diff:                  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"))
  
positive.code:                 yield ldfld entDict
                  yield ldloc id
                  yield call0 (staticTemplate.GetMethod("Template"))
                  yield call1 (entTemplate.GetMethod("CreateReader"))
                  yield dup
                  yield stloc entReader
                  yield call3'void (dictTy.GetMethod("Add", [| idTy; elemReaderTy |]))
  
negative.code:         zero // don't initialize dictionary yet
      override __.DefineProcessColumns() =
          cil {
              let! skip = deflabel
              yield ldarg 1 // column map
              match column with
              | Some column ->
  