anchor.diff:          checkConversionException (unchecked pos) pos array
   
       /// Convert a chunk of a byte array into an int16 with exception checking
  -    let convToInt16 pos endianness array = 
  +    let convToInt16 endianness pos array = 
           let unchecked pos arr = System.BitConverter.ToInt16(arr, pos)
           checkConversionException (unchecked pos << flipForEndianness endianness) pos array
   
       /// Convert a chunk of a byte array into an int32 with exception checking
  -    let convToInt32 pos endianness array = 
  +    let convToInt32 endianness pos array = 
           let unchecked pos arr = System.BitConverter.ToInt32(arr, pos)
           checkConversionException (unchecked pos << flipForEndianness endianness) pos array
   
       /// Convert a chunk of a byte array into an int64 with exception checking
  -    let convToInt64 pos endianness array = 
  +    let convToInt64 endianness pos array = 
           let unchecked pos arr = System.BitConverter.ToInt64(arr, pos)
           checkConversionException (unchecked pos << flipForEndianness endianness) pos array
   
       /// Convert a chunk of a byte array into an float32 with exception checking
  -    let convToFloat32 pos endianness array = 
  +    let convToFloat32 endianness pos array = 
           let unchecked pos arr = System.BitConverter.ToSingle(arr, pos)
           checkConversionException (unchecked pos << flipForEndianness endianness) pos array
   
       /// Convert a chunk of a byte array into an float64 with exception checking
  -    let convToFloat64 pos endianness array = 
  +    let convToFloat64 endianness pos array = 
           let unchecked pos arr = System.BitConverter.ToDouble(arr, pos)
           checkConversionException (unchecked pos << flipForEndianness endianness) pos array
   
  
positive.code:     let pickleEncoding encoding =
          let pickleEncodingS byteCount = 
              {
              Pickle = fun (str, s) -> {s with Raw = (PickleConvertors.Encodings.convFromEncoding encoding str) @ s.Raw}
              Unpickle = fun st ->
                  let pos = st.Position
                  let result = PickleConvertors.Encodings.convToEncoding pos byteCount encoding (st.Raw)
                  result, {st with Position = pos + byteCount}
              }
          sequ (Encoding.byteLength encoding) pickleInt pickleEncodingS
  
  
negative.code: 
      /// Uses the supplied pickler to unpickle the supplied byte array into some type 'a 
      let unpickle pickler array =
          fst <| runUnpickle (UnpickleComplete {Raw = array; Position = 0; Endianness = ByteOrder.systemEndianness}) pickler
  
      /// Uses the supplied pickler to pickle the supplied value into a byte array
      let pickle pickler value =
          let st = PickleComplete {Raw = []; Endianness = ByteOrder.systemEndianness}
          match (runPickle (value, st) pickler) with 
          |PickleComplete ps -> ps.Raw |> Seq.rev |> Array.ofSeq
          |_ -> invalidOp "A non-complete binary pickler state was returned from an initially complete pickler"
  
  