anchor.diff:  
     let doNothing (_: ILGenerator) = ()
   
  -  let emitOneOpCode opcode (gen: ILGenerator) = gen.Emit(opcode)
  -  let emitTwoOpCodes (opcode1, opcode2) (gen: ILGenerator) = gen.Emit(opcode1); gen.Emit(opcode2)
  +  let emitOpCode opcode (gen: ILGenerator) = gen.Emit(opcode)
   
     let emitOpCodeWithInt opcode (value: int) (gen: ILGenerator) = gen.Emit(opcode, value)
     let emitOpCodeWithType opcode (value: Type) (gen: ILGenerator) = gen.Emit(opcode, value)
  
positive.code: 
    let private altEmitterTable2 =
      let dict = Dictionary<MethodInfo, (ILGenerator -> unit)>(identityEqualityComparer)
      dict.Add(getMethod <@ -(1) @>, emitTwoOpCodes (OpCodes.Ldc_I4_M1, OpCodes.Mul_Ovf))
      dict.Add(getMethod <@ 1 - 1 @>, emitOneOpCode OpCodes.Sub_Ovf)
      dict.Add(getMethod <@ 1 * 1 @>, emitOneOpCode OpCodes.Mul_Ovf)
      dict.Add(getMethod <@ byte 1 @>, emitOneOpCode OpCodes.Conv_Ovf_U1)
      dict.Add(getMethod <@ sbyte 1 @>, emitOneOpCode OpCodes.Conv_Ovf_I1)
      dict.Add(getMethod <@ char 1 @>, emitOneOpCode OpCodes.Conv_Ovf_U2)
      dict.Add(getMethod <@ int 1 @>, doNothing)
      dict.Add(getMethod <@ int16 1 @>, emitOneOpCode OpCodes.Conv_Ovf_I2)
      dict.Add(getMethod <@ uint16 1 @>, emitOneOpCode OpCodes.Conv_Ovf_U2)
      dict.Add(getMethod <@ int32 1 @>, doNothing)
      dict.Add(getMethod <@ uint32 1 @>, emitOneOpCode OpCodes.Conv_Ovf_U4)
      dict.Add(getMethod <@ int64 1 @>, emitOneOpCode OpCodes.Conv_I8)
      dict.Add(getMethod <@ uint64 1 @>, emitOneOpCode OpCodes.Conv_Ovf_U8)
      dict.Add(getMethod <@ nativeint 1 @>, emitOneOpCode OpCodes.Conv_I)
      dict.Add(getMethod <@ unativeint 1 @>, emitOneOpCode OpCodes.Conv_Ovf_U)
      dict :> IReadOnlyDictionary<_, _>
  
    // shadowing the functions of the Microsoft.FSharp.Core.Operators.Checked module
  
negative.code:   let private altEmitterTable1 =
      let dict = Dictionary<MethodInfo, (ILGenerator -> unit)>(identityEqualityComparer)
      dict.Add(getMethod <@ +(1) @>, doNothing)
      dict.Add(getMethod <@ -(1) @>, emitOpCode OpCodes.Neg)
      dict.Add(getMethod <@ 1 - 1 @>, emitOpCode OpCodes.Sub)
      dict.Add(getMethod <@ 1 / 1 @>, emitOpCode OpCodes.Div)
      dict.Add(getMethod <@ 1 % 1 @>, emitOpCode OpCodes.Rem)
      dict.Add(getMethod <@ 1 &&& 1 @>, emitOpCode OpCodes.And)
      dict.Add(getMethod <@ 1 ||| 1 @>, emitOpCode OpCodes.Or)
      dict.Add(getMethod <@ 1 ^^^ 1 @>, emitOpCode OpCodes.Xor)
      dict.Add(getMethod <@ 1 >>> 1 @>, emitOpCode OpCodes.Shr)
      dict.Add(getMethod <@ 1 <<< 1 @>, emitOpCode OpCodes.Shl)
      dict.Add(getMethod <@ ~~~1 @>, emitOpCode OpCodes.Not)
      dict.Add(getMethod <@ byte 1 @>, doNothing)
      dict.Add(getMethod <@ sbyte 1 @>, doNothing)
      dict.Add(getMethod <@ char 1 @>, doNothing)
      dict.Add(getMethod <@ decimal 1 @>, emitCall (getMethod <@ Convert.ToDecimal(1) @>))
      dict.Add(getMethod <@ float 1 @>, emitOpCode OpCodes.Conv_R8)
      dict.Add(getMethod <@ float32 1 @>, emitOpCode OpCodes.Conv_R4)
      dict.Add(getMethod <@ int 1 @>, doNothing)
      dict.Add(getMethod <@ int16 1 @>, doNothing)
      dict.Add(getMethod <@ uint16 1 @>, doNothing)
      dict.Add(getMethod <@ int32 1 @>, doNothing)
      dict.Add(getMethod <@ uint32 1 @>, doNothing)
      dict.Add(getMethod <@ int64 1 @>, emitOpCode OpCodes.Conv_I8)
      dict.Add(getMethod <@ uint64 1 @>, emitOpCode OpCodes.Conv_I8)
      dict.Add(getMethod <@ nativeint 1 @>, emitOpCode OpCodes.Conv_I)
      dict.Add(getMethod <@ unativeint 1 @>, emitOpCode OpCodes.Conv_I)
      dict.Add(getMethod <@ byte "" @>, emitCall (getMethod <@ LanguagePrimitives.ParseUInt32("") @>)
                                        |>> emitOpCode OpCodes.Conv_Ovf_U1)
      dict.Add(getMethod <@ sbyte "" @>, emitCall (getMethod <@ LanguagePrimitives.ParseInt32("") @>)
                                         |>> emitOpCode OpCodes.Conv_Ovf_I1)
      dict.Add(getMethod <@ char "" @>, emitCall (getMethod <@ Char.Parse("") @>))
      dict.Add(getMethod <@ decimal "" @>, emitStrToFloat (getMethod <@ Decimal.Parse("", NumberStyles.None, Unchecked.defaultof<IFormatProvider>) @>))
      dict.Add(getMethod <@ float "" @>, emitStrToFloat (getMethod <@ Double.Parse("", NumberStyles.None, Unchecked.defaultof<IFormatProvider>) @>))
  