anchor.diff:                  let msg = getMessage()
                   msg.Substring(0, msg.IndexOf " ")
   
  -            let channel =
  -                let msg = getChannel()
  -                msg.Substring(0, msg.IndexOf " ")
  -
  -            printStatusMessage user "subscribed to" channel
  +            printStatusMessage (getChannel()) user (getMessage().Substring(user.Length+1))
           else
  -            printMessage username (getMessage())
  +            printTime()
  +            cprintf ConsoleColor.Cyan " <%s> " (getChannel())
  +            cprintf ConsoleColor.Yellow "%s" username
  +            cprintf ConsoleColor.White ": %s" (getMessage())
  +            printfn ""
       | "JOIN" ->
  -        printStatusMessage username "joined" (getChannel())
  +        printStatusMessage (getChannel()) username "joined"
       | "PART" ->
  -        printStatusMessage username "left" (getChannel())
  +        printStatusMessage (getChannel()) username "left"
       | _ ->
           ()
   
  
positive.code: let printTime() =
      cprintf ConsoleColor.Green "%s" (time())
  
  let printMessage sender content =
      printTime()
      cprintf ConsoleColor.Yellow " %s" sender
      cprintf ConsoleColor.White ": %s" content
      printfn ""
  
  let printStatusMessage source status event =
      printTime()
      cprintf ConsoleColor.Yellow " %s" source
      cprintf ConsoleColor.White " %s " status
      cprintf ConsoleColor.Yellow "%s" event
      printfn ""
  
  type PipeStatus<'a> =
  
negative.code:         Continue (code,line)
  
  let processMessage (code,line:string) =
      let getIndexOrEnd (str:string) (list:string[]) =
          let res = list
                  |> Array.map (fun s -> str.IndexOf s)
                  |> Array.filter (fun x -> x <> -1)
  
          if res.Length > 0 then res.[0] else str.Length
  
      let getMessage() =
          line.Substring(line.IndexOf " :"+2)
  
      let getChannel() =
          let start = line.Substring (line.IndexOf "#"+1)
          let eIdx = [|" "; "\r"|] |> getIndexOrEnd start
          start.Substring(0, eIdx)
  
      let username =
          let eIdx = line.IndexOf '!'
  