anchor.diff:      match this with
       | null -> ctor.Env.NewNumber(value) |> BV.Box
       | _ -> value |> TC.ToNumber |> BV.Box
  -    
  +
     //----------------------------------------------------------------------------
     let private nanToString number =
       if number <> number then "NaN"
  
positive.code:     elif number = PosInf then "Infinity"
      else failwith "Number is not NaN, Infinity or -Infinity"
  
    let internal toString (f:FunctionObject) (this:CommonObject) (radix:double) =
      this.CheckType<NO>()
      let number = (this |> ValueObject.GetValue).Number
  
      if FSharp.Utils.isNaNOrInf number then nanToString number
      else
        match radix with
        | 0.0 | 10.0 -> TypeConverter.ToString(number)
        | 2.0 -> Convert.ToString(int64 number, 2)
        | 8.0 -> Convert.ToString(int64 number, 8)
        | 16.0 -> Convert.ToString(int64 number, 16)
        | _ -> "Radix must be 0, 2, 8, 10 or 16"
        
    //----------------------------------------------------------------------------
    let internal toLocaleString (f:FunctionObject) (this:CommonObject) = 
      toString f this 10.0
      
    //----------------------------------------------------------------------------
    let internal valueOf (f:FunctionObject) (this:CommonObject) =
      this.CheckType<NO>()
  
negative.code:     let number = (this |> ValueObject.GetValue).Number
  
      if fractions.IsUndefined then 
        toString f this (10.0 |> BV.Box)
  
      elif number |> FSharp.Utils.isNaNOrInf then 
        nanToString number
  