anchor.diff:      override _.Length = length
   
       override _.ReadBytes(pos, count) = 
  -        Array.sub bytes (offset + pos) count
  +        checkCount count
  +        if count > 0 then
  +            Array.sub bytes (offset + pos) count
  +        else
  +            Array.empty
   
       override _.ReadInt32 pos =
           let finalOffset = offset + pos
  
positive.code:     let check i =
          if i < 0 || i >= length then 
              raise (ArgumentOutOfRangeException("i"))
  
      do
          if length < 0 then
  
negative.code: type ByteArrayMemory(bytes: byte[], offset, length) =
      inherit ByteMemory()
  
      let checkCount count =
          if count < 0 then
              raise (ArgumentOutOfRangeException("count", "Count is less than zero."))
  
      do
          if length < 0 || length > bytes.Length then
              raise (ArgumentOutOfRangeException("length"))
  