anchor.diff:    | _ -> None
   
   let mkBoolVal (g: TcGlobals) n = ConstValue(Const.Bool n, g.bool_ty)
  +
   let mkInt8Val (g: TcGlobals) n = ConstValue(Const.SByte n, g.sbyte_ty)
  +
   let mkInt16Val (g: TcGlobals) n = ConstValue(Const.Int16 n, g.int16_ty)
  +
   let mkInt32Val (g: TcGlobals) n = ConstValue(Const.Int32 n, g.int32_ty)
  +
   let mkInt64Val (g: TcGlobals) n = ConstValue(Const.Int64 n, g.int64_ty)
  +
   let mkUInt8Val (g: TcGlobals) n = ConstValue(Const.Byte n, g.byte_ty)
  +
   let mkUInt16Val (g: TcGlobals) n = ConstValue(Const.UInt16 n, g.uint16_ty)
  +
   let mkUInt32Val (g: TcGlobals) n = ConstValue(Const.UInt32 n, g.uint32_ty)
  +
   let mkUInt64Val (g: TcGlobals) n = ConstValue(Const.UInt64 n, g.uint64_ty)
   
   let (|StripInt32Value|_|) = function StripConstValue(Const.Int32 n) -> Some n | _ -> None
         
  -//-------------------------------------------------------------------------
  -// mk value_infos
  -//------------------------------------------------------------------------- 
  -
   let MakeValueInfoForValue g m vref vinfo            = 
   #if DEBUG
       let rec check x = 
  
positive.code: module Unchecked = Microsoft.FSharp.Core.Operators
           
  /// Evaluate primitives based on interpretation of IL instructions. 
  //
  // The implementation
  // utilizes F# arithmetic extensively, so a mistake in the implementation of F# arithmetic  
  // in the core library used by the F# compiler will propagate to be a mistake in optimization. 
  // The IL instructions appear in the tree through inlining.
  let mkAssemblyCodeValueInfo g instrs argvals tys =
    match instrs, argvals, tys with
      | [ AI_add ], [t1;t2], _ -> 
  
negative.code:     | _ -> 
          expr
  
  //-------------------------------------------------------------------------
  // ExpandStructuralBinding
  //
  