anchor.diff:          let fullMsg = msg |> String.concat " "
           writer |> sendMessage channel fullMsg
       | _ ->
  -        printfn "Unknown command: %s" input
  +        println "Unknown command: %s" input
           ()
   
       processInput (Console.ReadLine()) writer
   
   [<EntryPoint>]
  -let main args = 
  +let main args =
       use client = new TcpClient("irc.twitch.tv", 6667)
       use reader = new StreamReader(client.GetStream(), Encoding.UTF8)
       use writer = new StreamWriter(client.GetStream(), Encoding.UTF8)
  
positive.code: 
      match code with
      | "004" ->
          printfn "Logged in"
          Halt
      | "NOTICE" ->
          printfn "Failed to login"
          Halt
      | _ ->
          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)
  
negative.code: let cprintf color fmt =
      Printf.kprintf
          (fun s ->
              let old = Console.ForegroundColor
              Console.ForegroundColor <- color
              Console.Write s
              Console.ForegroundColor <- old
          )
          fmt
  
  let curTime() =
      DateTime.Now.ToString("[hh:mm:ss tt]")
  
  let printTime() =
      cprintf ConsoleColor.Green "%s" (curTime())
  
  let println fmt =
      printTime()
      printf " "
      printfn fmt
  
  let printStatusMessage channel user status =
      printTime()
      cprintf ConsoleColor.Cyan " <%s> " channel
      cprintf ConsoleColor.White "%s " user
      cprintf ConsoleColor.Magenta "%s " status
      printfn ""
  
  type PipeStatus<'a> =
  