anchor.diff:            InputTransactionIndex = inputTransactionIndex
             ResponseScriptLength = responseScriptLength
             ResponseScript = responseScript
  -          SequenceNumber = sequenceNumber }
  +          SequenceNumber = sequenceNumber
  +          NumberOfOutputs = numberOfOutputs
  +          Outputs = Array.ofList outputs }
   
       printfn "%A" block 
   
  
positive.code:     let responseScriptLength, bytesUsed = decodeVariableLengthInt bytesToProcess.[offSet + 36 .. offSet + 44]
      let offSet = offSet + 36 + bytesUsed
      let responseScriptLengthInt = int responseScriptLength // assume responseScriptLength will always fit into an int32
      let responseScript = bytesToProcess.[offSet .. offSet + responseScriptLengthInt] 
      let sequenceNumber = bytesToInt32 bytesToProcess.[offSet + responseScriptLengthInt + 1 .. offSet + responseScriptLengthInt + 3]
      let block =
          { Version = version
            Hash = hash
  
negative.code:       InputTransactionIndex: int
        ResponseScriptLength: int64
        ResponseScript: array<byte>
        SequenceNumber: int 
        NumberOfOutputs: int64
        Outputs: array<Output> }
  
  let magicNumber = [| 0xf9uy; 0xbeuy; 0xb4uy; 0xd9uy; |]
  
  let readOutput offSet (bytesToProcess: array<byte>) =
      let output = bytesToInt64 bytesToProcess.[offSet .. offSet + 7]
      let challengeScriptLength, bytesUsed = decodeVariableLengthInt bytesToProcess.[offSet + 8 .. offSet + 16]
      let offSet = offSet + 8 + bytesUsed
      let bytesUsed = offSet + int challengeScriptLength
      printfn "challengeScriptLength: %i bytesUsed: %i bytesToProcess.Length: %i" challengeScriptLength bytesUsed bytesToProcess.Length
      { Value = output
        ChallengeScriptLength = challengeScriptLength
        ChallengeScript = bytesToProcess.[offSet .. bytesUsed - 1] }, bytesUsed
  
  let readMessage (e: IEnumerator<'a>) =
      let number = take 4 e
  