anchor.diff:                              |> Seq.take receivedBytes
                               |> Seq.tryFindIndex (fun b -> b = byte(0))) with
                           | None -> 
  +                            // Line is not complete so go ahaid and buffer it.
                               do! mem.AsyncWrite(buffer, 0, receivedBytes)
                               return! waitForDataLoop mem count 0 maybeRawReceiver
  -                        | Some(nullIndex) -> // Found exit
  +                        | Some(nullIndex) -> // Found exit (Line complete but there could be very well some raw data)
                               do! mem.AsyncWrite(buffer, 0, nullIndex) 
                               let line = analyseCommandLine (mem.ToArray())
                               mem.Dispose()
  
positive.code:                 |> Seq.toArray
      let other = commandLine
                  |> Seq.skip (id.Length + 1) // Ignore id and the first ' ' (sep between id & command)
                  |> Seq.takeWhile (fun b -> b <> byte(0))
                  |> Seq.toArray
      let line = System.Text.Encoding.UTF8.GetString(other)
      let splits = line.Split(' ')
  
negative.code: let myprint fmt = 
    Printf.kprintf printer.Post fmt
  
  
  type RawData = {
      Bytes : byte array
      Size  : int
  