anchor.diff:      let split = Utils.createHostFunction env split
       proto.Put("split", split, DontEnum)
   
  -    let substring = new Func<CommonObject, double, double, string>(substring)
  +    let substring = new Func<CommonObject, double, BV, string>(substring)
       let substring = Utils.createHostFunction env substring
       proto.Put("substring", substring, DontEnum)
   
  
positive.code:       array.Put(uint32 i, parts.[i])
  
      array
          
    //----------------------------------------------------------------------------
    let internal substring (this:CommonObject) (start:double) (end':double) =
      let value = this |> TypeConverter.ToString
  
      let start = start |> TypeConverter.ToInt32
      let start = if start < 0 then Math.Max(start + value.Length, 0) else start
  
      let end' = end' |> TypeConverter.ToInt32
      let end' = Math.Max(Math.Min(end', value.Length-start), 0)
  
      if end' <= 0 then "" else value.Substring(start, end')
      
    //----------------------------------------------------------------------------
    let internal toLowerCase (this:CO) =
      let value = this |> TypeConverter.ToString
  
negative.code:   let internal valueOf (func:FO) (this:CO) = 
      toString func this
      
    // These steps are outlined in the ECMA-262, Section 15.5.4.4
    let internal charAt (this:CO) (pos:double) =
      let S = this |> TC.ToString
      let position = pos |> TC.ToInteger
      let size = S.Length
      if position < 0 || position >= size then "" else S.[position] |> string
  
    // These steps are outlined in the ECMA-262, Section 15.5.4.5
    let internal charCodeAt (this:CO) (pos:double) =
      let S = this |> TC.ToString
      let position = pos |> TC.ToInteger
      let size = S.Length
      if position < 0 || position >= size then nan else S.[position] |> double
  
    //----------------------------------------------------------------------------
    let internal concat (this:CO) (args:Args) =
      let buffer = new Text.StringBuilder(TypeConverter.ToString this)
  