anchor.diff:  
       dict.Add(Expr.getMethodInfo <@ char 'a' @>, doNothing)
   
  -    dict.Add(Expr.getMethodInfo <@ byte 1I @>, emitCallMethod (Expr.getMethodInfo <@ Numerics.BigInteger.op_Explicit(1I) : byte @>))
  -    dict.Add(Expr.getMethodInfo <@ uint8 1I @>, emitCallMethod (Expr.getMethodInfo <@ Numerics.BigInteger.op_Explicit(1I) : byte @>))
  -    dict.Add(Expr.getMethodInfo <@ sbyte 1I @>, emitCallMethod (Expr.getMethodInfo <@ Numerics.BigInteger.op_Explicit(1I) : sbyte @>))
  -    dict.Add(Expr.getMethodInfo <@ int8 1I @>, emitCallMethod (Expr.getMethodInfo <@ Numerics.BigInteger.op_Explicit(1I) : sbyte @>))
  -    dict.Add(Expr.getMethodInfo <@ decimal 1I @>, emitCallMethod (Expr.getMethodInfo <@ Numerics.BigInteger.op_Explicit(1I) : decimal @>))
  -    dict.Add(Expr.getMethodInfo <@ float 1I @>, emitCallMethod (Expr.getMethodInfo <@ Numerics.BigInteger.op_Explicit(1I) : float @>))
  -    dict.Add(Expr.getMethodInfo <@ double 1I @>, emitCallMethod (Expr.getMethodInfo <@ Numerics.BigInteger.op_Explicit(1I) : double @>))
  -    dict.Add(Expr.getMethodInfo <@ float32 1I @>, emitCallMethod (Expr.getMethodInfo <@ Numerics.BigInteger.op_Explicit(1I) : float32 @>))
  -    dict.Add(Expr.getMethodInfo <@ single 1I @>, emitCallMethod (Expr.getMethodInfo <@ Numerics.BigInteger.op_Explicit(1I) : float32 @>))
  -    dict.Add(Expr.getMethodInfo <@ int 1I @>, emitCallMethod (Expr.getMethodInfo <@ Numerics.BigInteger.op_Explicit(1I) : int @>))
  -    dict.Add(Expr.getMethodInfo <@ int16 1I @>, emitCallMethod (Expr.getMethodInfo <@ Numerics.BigInteger.op_Explicit(1I) : int16 @>))
  -    dict.Add(Expr.getMethodInfo <@ uint16 1I @>, emitCallMethod (Expr.getMethodInfo <@ Numerics.BigInteger.op_Explicit(1I) : uint16 @>))
  -    dict.Add(Expr.getMethodInfo <@ int32 1I @>, emitCallMethod (Expr.getMethodInfo <@ Numerics.BigInteger.op_Explicit(1I) : int32 @>))
  -    dict.Add(Expr.getMethodInfo <@ uint32 1I @>, emitCallMethod (Expr.getMethodInfo <@ Numerics.BigInteger.op_Explicit(1I) : uint32 @>))
  -    dict.Add(Expr.getMethodInfo <@ int64 1I @>, emitCallMethod (Expr.getMethodInfo <@ Numerics.BigInteger.op_Explicit(1I) : int64 @>))
  -    dict.Add(Expr.getMethodInfo <@ uint64 1I @>, emitCallMethod (Expr.getMethodInfo <@ Numerics.BigInteger.op_Explicit(1I) : uint64 @>))
  -
  -    dict.Add(Expr.getMethodInfo <@ byte 1.0M @>, emitCallMethod (Expr.getMethodInfo <@ Decimal.op_Explicit(1.0M) : byte @>))
  -    dict.Add(Expr.getMethodInfo <@ uint8 1.0M @>, emitCallMethod (Expr.getMethodInfo <@ Decimal.op_Explicit(1.0M) : byte @>))
  -    dict.Add(Expr.getMethodInfo <@ sbyte 1.0M @>, emitCallMethod (Expr.getMethodInfo <@ Decimal.op_Explicit(1.0M) : sbyte @>))
  -    dict.Add(Expr.getMethodInfo <@ int8 1.0M @>, emitCallMethod (Expr.getMethodInfo <@ Decimal.op_Explicit(1.0M) : sbyte @>))
  -    dict.Add(Expr.getMethodInfo <@ char 1.0M @>, emitCallMethod (Expr.getMethodInfo <@ Decimal.op_Explicit(1.0M) : char @>))
       dict.Add(Expr.getMethodInfo <@ decimal 1.0M @>, doNothing)
  -    dict.Add(Expr.getMethodInfo <@ float 1.0M @>, emitCallMethod (Expr.getMethodInfo <@ Convert.ToDouble(1M) @>))
  -    dict.Add(Expr.getMethodInfo <@ double 1.0M @>, emitCallMethod (Expr.getMethodInfo <@ Convert.ToDouble(1M) @>))
  -    dict.Add(Expr.getMethodInfo <@ float32 1.0M @>, emitCallMethod (Expr.getMethodInfo <@ Decimal.op_Explicit(1.0M) : float32 @>))
  -    dict.Add(Expr.getMethodInfo <@ single 1.0M @>, emitCallMethod (Expr.getMethodInfo <@ Decimal.op_Explicit(1.0M) : float32 @>))
  -    dict.Add(Expr.getMethodInfo <@ int 1.0M @>, emitCallMethod (Expr.getMethodInfo <@ Decimal.op_Explicit(1.0M) : int @>))
  -    dict.Add(Expr.getMethodInfo <@ int16 1.0M @>, emitCallMethod (Expr.getMethodInfo <@ Decimal.op_Explicit(1.0M) : int16 @>))
  -    dict.Add(Expr.getMethodInfo <@ uint16 1.0M @>, emitCallMethod (Expr.getMethodInfo <@ Decimal.op_Explicit(1.0M) : uint16 @>))
  -    dict.Add(Expr.getMethodInfo <@ int32 1.0M @>, emitCallMethod (Expr.getMethodInfo <@ Decimal.op_Explicit(1.0M) : int32 @>))
  -    dict.Add(Expr.getMethodInfo <@ uint32 1.0M @>, emitCallMethod (Expr.getMethodInfo <@ Decimal.op_Explicit(1.0M) : uint32 @>))
  -    dict.Add(Expr.getMethodInfo <@ int64 1.0M @>, emitCallMethod (Expr.getMethodInfo <@ Decimal.op_Explicit(1.0M) : int64 @>))
  -    dict.Add(Expr.getMethodInfo <@ uint64 1.0M @>, emitCallMethod (Expr.getMethodInfo <@ Decimal.op_Explicit(1.0M) : uint64 @>))
   
       dict.Add(Expr.getMethodInfo <@ byte "" @>, emitOpCode (Call (Method (Expr.getMethodInfo <@ LanguagePrimitives.ParseUInt32 @>)))
                                         |>> emitOpCode Conv_Ovf_U1)
  
positive.code:     dict.Add(Expr.getMethodInfo <@ 1.0 * 1.0 @>, emitOpCode Mul)
      dict.Add(Expr.getMethodInfo <@ 1.0f * 1.0f @>, emitOpCode Mul)
  
      dict.Add(Expr.getMethodInfo <@ 1M - 1M @>, emitCallMethod (Expr.getMethodInfo <@ System.Decimal.op_Subtraction @>))
      dict.Add(Expr.getMethodInfo <@ 1M * 1M @>, emitCallMethod (Expr.getMethodInfo <@ System.Decimal.op_Multiply @>))
  
      dict.Add(Expr.getMethodInfo <@ byte 1uy @>, doNothing)
      dict.Add(Expr.getMethodInfo <@ byte 1us @>, emitOpCode Conv_Ovf_U1_Un)
      dict.Add(Expr.getMethodInfo <@ byte 1u @>, emitOpCode Conv_Ovf_U1_Un)
  
negative.code:     dict.Add(Expr.getMethodInfo <@ uint64 1uL @>, doNothing)
      dict.Add(Expr.getMethodInfo <@ uint64 'a' @>, emitOpCode Conv_Ovf_U8_Un)
  
      dict.Add(Expr.getMethodInfo <@ decimal 1.0M @>, doNothing)
  
      dict.Add(Expr.getMethodInfo <@ byte "" @>, emitOpCode (Call (Method (Expr.getMethodInfo <@ LanguagePrimitives.ParseUInt32 @>)))
                                        |>> emitOpCode Conv_Ovf_U1)
  