anchor.diff:              socketio (handlePacket State.empty)
               GET >=> choose [
                   browseHome
  -            
  +
                   path "/" >=> browseFileHome "index.html"
               ]
   
  
positive.code:                 | "stop typing" ->
                      socket.Broadcast ("stop typing", [{ TypingEvent.username = defaultArg state.userName "???" }])
                      state
                  | other ->
                      logVerbose (sprintf "Unknown command: %s" cmd)
                      state
  
  
negative.code:     static member empty = { State.userName = None }
  
  [<EntryPoint>]
  let main argv =
      let socketio handlePackets = SocketIo(SocketIoConfig.empty, handlePackets).WebPart
  
      let mutable userCount = 0
  