anchor.diff:  
     let doNothing = []
   
  -  let emitOpCode opcode = [ Compiling (fun (gen: ILGeneratorWrapper) -> gen.Emit(opcode)) ]
  +  let emitOpCode opcode = [ Compiling (fun gen -> gen.Emit(opcode)) ]
     let emitCall (mi: MethodInfo) (gen: ILGeneratorWrapper) =
       if mi.IsVirtual then
         gen.Emit(Callvirt (Method mi))
  
positive.code: 
    let private (|>>) emit1 emit2 =
      match emit1, emit2 with
      | [Compiling e1], [Compiling e2] -> [ Compiling (fun (gen: ILGeneratorWrapper) -> e1 gen; e2 gen) ]
      | [Compiling e1], [Assumed e2] -> [ Assumed e2; Compiling e1 ]
      | _ -> failwith "oops!"
  
  
negative.code: 
    let declareLocal<'T> loader =
      [
        Compiling (fun gen -> let loc = gen.DeclareLocal(typeof<'T>) in gen.Emit(Stloc (loc, None)); gen.Emit(loader (loc, None)))
      ]
  
    let private altEmitterTableUnchecked =
  