diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,5 +1,9 @@
 # Revision history for irc-core
 
+## 2.2.1 -- 2017-05-13
+
+* Prettier reply code text
+
 ## 2.2.0.1  -- 2016-12-18
 
 * Exchange `memory` dependency for `base64-bytestring`
diff --git a/irc-core.cabal b/irc-core.cabal
--- a/irc-core.cabal
+++ b/irc-core.cabal
@@ -1,5 +1,5 @@
 name:                irc-core
-version:             2.2.0.1
+version:             2.2.1
 synopsis:            IRC core library for glirc
 description:         IRC core library for glirc
                      .
@@ -33,15 +33,15 @@
                        Irc.UserInfo
   other-modules:       View
 
-  build-depends:       base       >=4.9  && <4.10,
+  build-depends:       base       >=4.9  && <4.11,
                        base64-bytestring >= 1.0.0.1 && <1.1,
                        attoparsec >=0.13 && <0.14,
                        bytestring >=0.10 && <0.11,
                        hashable   >=1.2  && <1.3,
                        primitive  >=0.6  && <0.7,
                        text       >=1.2  && <1.3,
-                       time       >=1.6  && <1.7,
-                       vector     >=0.11 && <0.12
+                       time       >=1.6  && <1.9,
+                       vector     >=0.11 && <0.13
 
   hs-source-dirs:      src
   default-language:    Haskell2010
@@ -54,5 +54,5 @@
                        base,
                        text,
                        hashable,
-                       HUnit >= 1.3 && < 1.4
+                       HUnit >= 1.3 && < 1.7
   default-language:    Haskell2010
diff --git a/src/Irc/Codes.hs b/src/Irc/Codes.hs
--- a/src/Irc/Codes.hs
+++ b/src/Irc/Codes.hs
@@ -469,400 +469,400 @@
       (Vector.generate 1000 defaultReplyCodeInfo)
   $ fmap (\(ReplyCode code,info) -> (fromIntegral code, info))
   $ Vector.fromList
-  [ (RPL_WELCOME               , ReplyCodeInfo ClientServerReply "WELCOME")
-  , (RPL_YOURHOST              , ReplyCodeInfo ClientServerReply "YOURHOST")
-  , (RPL_CREATED               , ReplyCodeInfo ClientServerReply "CREATED")
-  , (RPL_MYINFO                , ReplyCodeInfo ClientServerReply "MYINFO")
-  , (RPL_ISUPPORT              , ReplyCodeInfo ClientServerReply "ISUPPORT")
-  , (RPL_SNOMASK               , ReplyCodeInfo ClientServerReply "SNOMASK")
-  , (RPL_STATMEMTOT            , ReplyCodeInfo ClientServerReply "STATMEMTOT")
-  , (RPL_REDIR                 , ReplyCodeInfo ClientServerReply "REDIR")
-  , (RPL_YOURCOOKIE            , ReplyCodeInfo ClientServerReply "YOURCOOKIE")
-  , (RPL_MAP                   , ReplyCodeInfo ClientServerReply "MAP")
-  , (RPL_MAPEND                , ReplyCodeInfo ClientServerReply "MAPEND")
-  , (RPL_YOURID                , ReplyCodeInfo ClientServerReply "YOURID")
-  , (RPL_SAVENICK              , ReplyCodeInfo ClientServerReply "SAVENICK")
-  , (RPL_ATTEMPTINGJUNC        , ReplyCodeInfo ClientServerReply "ATTEMPTINGJUNC")
-  , (RPL_ATTEMPTINGREROUTE     , ReplyCodeInfo ClientServerReply "ATTEMPTINGREROUTE")
-  , (RPL_TRACELINK             , ReplyCodeInfo CommandReply "TRACELINK")
-  , (RPL_TRACECONNECTING       , ReplyCodeInfo CommandReply "TRACECONNECTING")
-  , (RPL_TRACEHANDSHAKE        , ReplyCodeInfo CommandReply "TRACEHANDSHAKE")
-  , (RPL_TRACEUNKNOWN          , ReplyCodeInfo CommandReply "TRACEUNKNOWN")
-  , (RPL_TRACEOPERATOR         , ReplyCodeInfo CommandReply "TRACEOPERATOR")
-  , (RPL_TRACEUSER             , ReplyCodeInfo CommandReply "TRACEUSER")
-  , (RPL_TRACESERVER           , ReplyCodeInfo CommandReply "TRACESERVER")
-  , (RPL_TRACESERVICE          , ReplyCodeInfo CommandReply "TRACESERVICE")
-  , (RPL_TRACENEWTYPE          , ReplyCodeInfo CommandReply "TRACENEWTYPE")
-  , (RPL_TRACECLASS            , ReplyCodeInfo CommandReply "TRACECLASS")
-  , (RPL_TRACERECONNECT        , ReplyCodeInfo CommandReply "TRACERECONNECT")
-  , (RPL_STATS                 , ReplyCodeInfo CommandReply "STATS")
-  , (RPL_STATSLINKINFO         , ReplyCodeInfo CommandReply "STATSLINKINFO")
-  , (RPL_STATSCOMMANDS         , ReplyCodeInfo CommandReply "STATSCOMMANDS")
-  , (RPL_STATSCLINE            , ReplyCodeInfo CommandReply "STATSCLINE")
-  , (RPL_STATSNLINE            , ReplyCodeInfo CommandReply "STATSNLINE")
-  , (RPL_STATSILINE            , ReplyCodeInfo CommandReply "STATSILINE")
-  , (RPL_STATSKLINE            , ReplyCodeInfo CommandReply "STATSKLINE")
-  , (RPL_STATSQLINE            , ReplyCodeInfo CommandReply "STATSQLINE")
-  , (RPL_STATSYLINE            , ReplyCodeInfo CommandReply "STATSYLINE")
-  , (RPL_ENDOFSTATS            , ReplyCodeInfo CommandReply "ENDOFSTATS")
-  , (RPL_STATSPLINE            , ReplyCodeInfo CommandReply "STATSPLINE")
-  , (RPL_UMODEIS               , ReplyCodeInfo CommandReply "UMODEIS")
-  , (RPL_SQLINE_NICK           , ReplyCodeInfo CommandReply "SQLINE_NICK")
-  , (RPL_STATSDLINE            , ReplyCodeInfo CommandReply "STATSDLINE")
-  , (RPL_STATSZLINE            , ReplyCodeInfo CommandReply "STATSZLINE")
-  , (RPL_STATSCOUNT            , ReplyCodeInfo CommandReply "STATSCOUNT")
-  , (RPL_SERVICEINFO           , ReplyCodeInfo CommandReply "SERVICEINFO")
-  , (RPL_ENDOFSERVICES         , ReplyCodeInfo CommandReply "ENDOFSERVICES")
-  , (RPL_SERVICE               , ReplyCodeInfo CommandReply "SERVICE")
-  , (RPL_SERVLIST              , ReplyCodeInfo CommandReply "SERVLIST")
-  , (RPL_SERVLISTEND           , ReplyCodeInfo CommandReply "SERVLISTEND")
-  , (RPL_STATSVERBOSE          , ReplyCodeInfo CommandReply "STATSVERBOSE")
-  , (RPL_STATSIAUTH            , ReplyCodeInfo CommandReply "STATSIAUTH")
-  , (RPL_STATSLLINE            , ReplyCodeInfo CommandReply "STATSLLINE")
-  , (RPL_STATSUPTIME           , ReplyCodeInfo CommandReply "STATSUPTIME")
-  , (RPL_STATSOLINE            , ReplyCodeInfo CommandReply "STATSOLINE")
-  , (RPL_STATSHLINE            , ReplyCodeInfo CommandReply "STATSHLINE")
-  , (RPL_STATSSLINE            , ReplyCodeInfo CommandReply "STATSSLINE")
-  , (RPL_STATSPING             , ReplyCodeInfo CommandReply "STATSPING")
-  , (RPL_STATSXLINE            , ReplyCodeInfo CommandReply "STATSXLINE")
-  , (RPL_STATSULINE            , ReplyCodeInfo CommandReply "STATSULINE")
-  , (RPL_STATSDEBUG            , ReplyCodeInfo CommandReply "STATSDEBUG")
-  , (RPL_STATSCONN             , ReplyCodeInfo CommandReply "STATSCONN")
-  , (RPL_LUSERCLIENT           , ReplyCodeInfo CommandReply "LUSERCLIENT")
-  , (RPL_LUSEROP               , ReplyCodeInfo CommandReply "LUSEROP")
-  , (RPL_LUSERUNKNOWN          , ReplyCodeInfo CommandReply "LUSERUNKNOWN")
-  , (RPL_LUSERCHANNELS         , ReplyCodeInfo CommandReply "LUSERCHANNELS")
-  , (RPL_LUSERME               , ReplyCodeInfo CommandReply "LUSERME")
-  , (RPL_ADMINME               , ReplyCodeInfo CommandReply "ADMINME")
-  , (RPL_ADMINLOC1             , ReplyCodeInfo CommandReply "ADMINLOC1")
-  , (RPL_ADMINLOC2             , ReplyCodeInfo CommandReply "ADMINLOC2")
-  , (RPL_ADMINEMAIL            , ReplyCodeInfo CommandReply "ADMINEMAIL")
-  , (RPL_TRACELOG              , ReplyCodeInfo CommandReply "TRACELOG")
-  , (RPL_ENDOFTRACE            , ReplyCodeInfo CommandReply "ENDOFTRACE")
-  , (RPL_LOAD2HI               , ReplyCodeInfo CommandReply "LOAD2HI")
-  , (RPL_LOCALUSERS            , ReplyCodeInfo CommandReply "LOCALUSERS")
-  , (RPL_GLOBALUSERS           , ReplyCodeInfo CommandReply "GLOBALUSERS")
-  , (RPL_START_NETSTAT         , ReplyCodeInfo CommandReply "START_NETSTAT")
-  , (RPL_NETSTAT               , ReplyCodeInfo CommandReply "NETSTAT")
-  , (RPL_END_NETSTAT           , ReplyCodeInfo CommandReply "END_NETSTAT")
-  , (RPL_PRIVS                 , ReplyCodeInfo CommandReply "PRIVS")
-  , (RPL_SILELIST              , ReplyCodeInfo CommandReply "SILELIST")
-  , (RPL_ENDOFSILELIST         , ReplyCodeInfo CommandReply "ENDOFSILELIST")
-  , (RPL_NOTIFY                , ReplyCodeInfo CommandReply "NOTIFY")
-  , (RPL_ENDNOTIFY             , ReplyCodeInfo CommandReply "ENDNOTIFY")
-  , (RPL_STATSDELTA            , ReplyCodeInfo CommandReply "STATSDELTA")
-  , (RPL_WHOISCERTFP           , ReplyCodeInfo CommandReply "WHOISCERTFP")
-  , (RPL_VCHANLIST             , ReplyCodeInfo CommandReply "VCHANLIST")
-  , (RPL_VCHANHELP             , ReplyCodeInfo CommandReply "VCHANHELP")
-  , (RPL_GLIST                 , ReplyCodeInfo CommandReply "GLIST")
-  , (RPL_ACCEPTLIST            , ReplyCodeInfo CommandReply "ACCEPTLIST")
-  , (RPL_ENDOFACCEPT           , ReplyCodeInfo CommandReply "ENDOFACCEPT")
-  , (RPL_ENDOFJUPELIST         , ReplyCodeInfo CommandReply "ENDOFJUPELIST")
-  , (RPL_FEATURE               , ReplyCodeInfo CommandReply "FEATURE")
-  , (RPL_DATASTR               , ReplyCodeInfo CommandReply "DATASTR")
-  , (RPL_END_CHANINFO          , ReplyCodeInfo CommandReply "END_CHANINFO")
-  , (RPL_NONE                  , ReplyCodeInfo CommandReply "NONE")
-  , (RPL_AWAY                  , ReplyCodeInfo CommandReply "AWAY")
-  , (RPL_USERHOST              , ReplyCodeInfo CommandReply "USERHOST")
-  , (RPL_ISON                  , ReplyCodeInfo CommandReply "ISON")
-  , (RPL_TEXT                  , ReplyCodeInfo CommandReply "TEXT")
-  , (RPL_UNAWAY                , ReplyCodeInfo CommandReply "UNAWAY")
-  , (RPL_NOWAWAY               , ReplyCodeInfo CommandReply "NOWAWAY")
-  , (RPL_WHOISREGNICK          , ReplyCodeInfo CommandReply "WHOISREGNICK")
-  , (RPL_SUSERHOST             , ReplyCodeInfo CommandReply "SUSERHOST")
-  , (RPL_NOTIFYACTION          , ReplyCodeInfo CommandReply "NOTIFYACTION")
-  , (RPL_WHOISADMIN            , ReplyCodeInfo CommandReply "WHOISADMIN")
-  , (RPL_NICKTRACE             , ReplyCodeInfo CommandReply "NICKTRACE")
-  , (RPL_WHOISSADMIN           , ReplyCodeInfo CommandReply "WHOISSADMIN")
-  , (RPL_WHOISHELPER           , ReplyCodeInfo CommandReply "WHOISHELPER")
-  , (RPL_WHOISUSER             , ReplyCodeInfo CommandReply "WHOISUSER")
-  , (RPL_WHOISSERVER           , ReplyCodeInfo CommandReply "WHOISSERVER")
-  , (RPL_WHOISOPERATOR         , ReplyCodeInfo CommandReply "WHOISOPERATOR")
-  , (RPL_WHOWASUSER            , ReplyCodeInfo CommandReply "WHOWASUSER")
-  , (RPL_ENDOFWHO              , ReplyCodeInfo CommandReply "ENDOFWHO")
-  , (RPL_WHOISCHANOP           , ReplyCodeInfo CommandReply "WHOISCHANOP")
-  , (RPL_WHOISIDLE             , ReplyCodeInfo CommandReply "WHOISIDLE")
-  , (RPL_ENDOFWHOIS            , ReplyCodeInfo CommandReply "ENDOFWHOIS")
-  , (RPL_WHOISCHANNELS         , ReplyCodeInfo CommandReply "WHOISCHANNELS")
-  , (RPL_WHOISSPECIAL          , ReplyCodeInfo CommandReply "WHOISSPECIAL")
-  , (RPL_LISTSTART             , ReplyCodeInfo CommandReply "LISTSTART")
-  , (RPL_LIST                  , ReplyCodeInfo CommandReply "LIST")
-  , (RPL_LISTEND               , ReplyCodeInfo CommandReply "LISTEND")
-  , (RPL_CHANNELMODEIS         , ReplyCodeInfo CommandReply "CHANNELMODEIS")
-  , (RPL_CHANNELMLOCKIS        , ReplyCodeInfo CommandReply "CHANNELMLOCKIS")
-  , (RPL_NOCHANPASS            , ReplyCodeInfo CommandReply "NOCHANPASS")
-  , (RPL_CHPASSUNKNOWN         , ReplyCodeInfo CommandReply "CHPASSUNKNOWN")
-  , (RPL_CHANNEL_URL           , ReplyCodeInfo CommandReply "CHANNEL_URL")
-  , (RPL_CREATIONTIME          , ReplyCodeInfo CommandReply "CREATIONTIME")
-  , (RPL_WHOWAS_TIME           , ReplyCodeInfo CommandReply "WHOWAS_TIME")
-  , (RPL_WHOISACCOUNT          , ReplyCodeInfo CommandReply "WHOISACCOUNT")
-  , (RPL_NOTOPIC               , ReplyCodeInfo CommandReply "NOTOPIC")
-  , (RPL_TOPIC                 , ReplyCodeInfo CommandReply "TOPIC")
-  , (RPL_TOPICWHOTIME          , ReplyCodeInfo CommandReply "TOPICWHOTIME")
-  , (RPL_LISTUSAGE             , ReplyCodeInfo CommandReply "LISTUSAGE")
-  , (RPL_COMMANDSYNTAX         , ReplyCodeInfo CommandReply "COMMANDSYNTAX")
-  , (RPL_LISTSYNTAX            , ReplyCodeInfo CommandReply "LISTSYNTAX")
-  , (RPL_WHOISACTUALLY         , ReplyCodeInfo CommandReply "WHOISACTUALLY")
-  , (RPL_BADCHANPASS           , ReplyCodeInfo CommandReply "BADCHANPASS")
-  , (RPL_INVITING              , ReplyCodeInfo CommandReply "INVITING")
-  , (RPL_SUMMONING             , ReplyCodeInfo CommandReply "SUMMONING")
-  , (RPL_INVITED               , ReplyCodeInfo CommandReply "INVITED")
-  , (RPL_INVEXLIST             , ReplyCodeInfo CommandReply "INVEXLIST")
-  , (RPL_ENDOFINVEXLIST        , ReplyCodeInfo CommandReply "ENDOFINVEXLIST")
-  , (RPL_EXCEPTLIST            , ReplyCodeInfo CommandReply "EXCEPTLIST")
-  , (RPL_ENDOFEXCEPTLIST       , ReplyCodeInfo CommandReply "ENDOFEXCEPTLIST")
-  , (RPL_VERSION               , ReplyCodeInfo CommandReply "VERSION")
-  , (RPL_WHOREPLY              , ReplyCodeInfo CommandReply "WHOREPLY")
-  , (RPL_NAMREPLY              , ReplyCodeInfo CommandReply "NAMREPLY")
-  , (RPL_WHOSPCRPL             , ReplyCodeInfo CommandReply "WHOSPCRPL")
-  , (RPL_NAMREPLY_             , ReplyCodeInfo CommandReply "NAMREPLY_")
-  , (RPL_WHOWASREAL            , ReplyCodeInfo CommandReply "WHOWASREAL")
-  , (RPL_KILLDONE              , ReplyCodeInfo CommandReply "KILLDONE")
-  , (RPL_CLOSING               , ReplyCodeInfo CommandReply "CLOSING")
-  , (RPL_CLOSEEND              , ReplyCodeInfo CommandReply "CLOSEEND")
-  , (RPL_LINKS                 , ReplyCodeInfo CommandReply "LINKS")
-  , (RPL_ENDOFLINKS            , ReplyCodeInfo CommandReply "ENDOFLINKS")
-  , (RPL_ENDOFNAMES            , ReplyCodeInfo CommandReply "ENDOFNAMES")
-  , (RPL_BANLIST               , ReplyCodeInfo CommandReply "BANLIST")
-  , (RPL_ENDOFBANLIST          , ReplyCodeInfo CommandReply "ENDOFBANLIST")
-  , (RPL_ENDOFWHOWAS           , ReplyCodeInfo CommandReply "ENDOFWHOWAS")
-  , (RPL_INFO                  , ReplyCodeInfo CommandReply "INFO")
-  , (RPL_MOTD                  , ReplyCodeInfo CommandReply "MOTD")
-  , (RPL_INFOSTART             , ReplyCodeInfo CommandReply "INFOSTART")
-  , (RPL_ENDOFINFO             , ReplyCodeInfo CommandReply "ENDOFINFO")
-  , (RPL_MOTDSTART             , ReplyCodeInfo CommandReply "MOTDSTART")
-  , (RPL_ENDOFMOTD             , ReplyCodeInfo CommandReply "ENDOFMOTD")
-  , (RPL_WHOISHOST             , ReplyCodeInfo CommandReply "WHOISHOST")
-  , (RPL_KICKLINKED            , ReplyCodeInfo CommandReply "KICKLINKED")
-  , (RPL_YOUREOPER             , ReplyCodeInfo CommandReply "YOUREOPER")
-  , (RPL_REHASHING             , ReplyCodeInfo CommandReply "REHASHING")
-  , (RPL_YOURESERVICE          , ReplyCodeInfo CommandReply "YOURESERVICE")
-  , (RPL_MYPORTIS              , ReplyCodeInfo CommandReply "MYPORTIS")
-  , (RPL_NOTOPERANYMORE        , ReplyCodeInfo CommandReply "NOTOPERANYMORE")
-  , (RPL_RSACHALLENGE          , ReplyCodeInfo CommandReply "RSACHALLENGE")
-  , (RPL_TIME                  , ReplyCodeInfo CommandReply "TIME")
-  , (RPL_USERSSTART            , ReplyCodeInfo CommandReply "USERSSTART")
-  , (RPL_USERS                 , ReplyCodeInfo CommandReply "USERS")
-  , (RPL_ENDOFUSERS            , ReplyCodeInfo CommandReply "ENDOFUSERS")
-  , (RPL_NOUSERS               , ReplyCodeInfo CommandReply "NOUSERS")
-  , (RPL_HOSTHIDDEN            , ReplyCodeInfo CommandReply "HOSTHIDDEN")
-  , (ERR_UNKNOWNERROR          , ReplyCodeInfo ErrorReply "UNKNOWNERROR")
-  , (ERR_NOSUCHNICK            , ReplyCodeInfo ErrorReply "NOSUCHNICK")
-  , (ERR_NOSUCHSERVER          , ReplyCodeInfo ErrorReply "NOSUCHSERVER")
-  , (ERR_NOSUCHCHANNEL         , ReplyCodeInfo ErrorReply "NOSUCHCHANNEL")
-  , (ERR_CANNOTSENDTOCHAN      , ReplyCodeInfo ErrorReply "CANNOTSENDTOCHAN")
-  , (ERR_TOOMANYCHANNELS       , ReplyCodeInfo ErrorReply "TOOMANYCHANNELS")
-  , (ERR_WASNOSUCHNICK         , ReplyCodeInfo ErrorReply "WASNOSUCHNICK")
-  , (ERR_TOOMANYTARGETS        , ReplyCodeInfo ErrorReply "TOOMANYTARGETS")
-  , (ERR_NOORIGIN              , ReplyCodeInfo ErrorReply "NOORIGIN")
-  , (ERR_NORECIPIENT           , ReplyCodeInfo ErrorReply "NORECIPIENT")
-  , (ERR_NOTEXTTOSEND          , ReplyCodeInfo ErrorReply "NOTEXTTOSEND")
-  , (ERR_NOTOPLEVEL            , ReplyCodeInfo ErrorReply "NOTOPLEVEL")
-  , (ERR_WILDTOPLEVEL          , ReplyCodeInfo ErrorReply "WILDTOPLEVEL")
-  , (ERR_BADMASK               , ReplyCodeInfo ErrorReply "BADMASK")
-  , (ERR_TOOMANYMATCHES        , ReplyCodeInfo ErrorReply "TOOMANYMATCHES")
-  , (ERR_LENGTHTRUNCATED       , ReplyCodeInfo ErrorReply "LENGTHTRUNCATED")
-  , (ERR_UNKNOWNCOMMAND        , ReplyCodeInfo ErrorReply "UNKNOWNCOMMAND")
-  , (ERR_NOMOTD                , ReplyCodeInfo ErrorReply "NOMOTD")
-  , (ERR_NOADMININFO           , ReplyCodeInfo ErrorReply "NOADMININFO")
-  , (ERR_FILEERROR             , ReplyCodeInfo ErrorReply "FILEERROR")
-  , (ERR_NOOPERMOTD            , ReplyCodeInfo ErrorReply "NOOPERMOTD")
-  , (ERR_TOOMANYAWAY           , ReplyCodeInfo ErrorReply "TOOMANYAWAY")
-  , (ERR_EVENTNICKCHANGE       , ReplyCodeInfo ErrorReply "EVENTNICKCHANGE")
-  , (ERR_NONICKNAMEGIVEN       , ReplyCodeInfo ErrorReply "NONICKNAMEGIVEN")
-  , (ERR_ERRONEUSNICKNAME      , ReplyCodeInfo ErrorReply "ERRONEUSNICKNAME")
-  , (ERR_NICKNAMEINUSE         , ReplyCodeInfo ErrorReply "NICKNAMEINUSE")
-  , (ERR_SERVICENAMEINUSE      , ReplyCodeInfo ErrorReply "SERVICENAMEINUSE")
-  , (ERR_NORULES               , ReplyCodeInfo ErrorReply "NORULES")
-  , (ERR_BANNICKCHANGE         , ReplyCodeInfo ErrorReply "BANNICKCHANGE")
-  , (ERR_NICKCOLLISION         , ReplyCodeInfo ErrorReply "NICKCOLLISION")
-  , (ERR_UNAVAILRESOURCE       , ReplyCodeInfo ErrorReply "UNAVAILRESOURCE")
-  , (ERR_NICKTOOFAST           , ReplyCodeInfo ErrorReply "NICKTOOFAST")
-  , (ERR_TARGETTOOFAST         , ReplyCodeInfo ErrorReply "TARGETTOOFAST")
-  , (ERR_SERVICESDOWN          , ReplyCodeInfo ErrorReply "SERVICESDOWN")
-  , (ERR_USERNOTINCHANNEL      , ReplyCodeInfo ErrorReply "USERNOTINCHANNEL")
-  , (ERR_NOTONCHANNEL          , ReplyCodeInfo ErrorReply "NOTONCHANNEL")
-  , (ERR_USERONCHANNEL         , ReplyCodeInfo ErrorReply "USERONCHANNEL")
-  , (ERR_NOLOGIN               , ReplyCodeInfo ErrorReply "NOLOGIN")
-  , (ERR_SUMMONDISABLED        , ReplyCodeInfo ErrorReply "SUMMONDISABLED")
-  , (ERR_USERSDISABLED         , ReplyCodeInfo ErrorReply "USERSDISABLED")
-  , (ERR_NONICKCHANGE          , ReplyCodeInfo ErrorReply "NONICKCHANGE")
-  , (ERR_NOTIMPLEMENTED        , ReplyCodeInfo ErrorReply "NOTIMPLEMENTED")
-  , (ERR_NOTREGISTERED         , ReplyCodeInfo ErrorReply "NOTREGISTERED")
-  , (ERR_IDCOLLISION           , ReplyCodeInfo ErrorReply "IDCOLLISION")
-  , (ERR_NICKLOST              , ReplyCodeInfo ErrorReply "NICKLOST")
-  , (ERR_HOSTILENAME           , ReplyCodeInfo ErrorReply "HOSTILENAME")
-  , (ERR_ACCEPTFULL            , ReplyCodeInfo ErrorReply "ACCEPTFULL")
-  , (ERR_ACCEPTEXIST           , ReplyCodeInfo ErrorReply "ACCEPTEXIST")
-  , (ERR_ACCEPTNOT             , ReplyCodeInfo ErrorReply "ACCEPTNOT")
-  , (ERR_NOHIDING              , ReplyCodeInfo ErrorReply "NOHIDING")
-  , (ERR_NOTFORHALFOPS         , ReplyCodeInfo ErrorReply "NOTFORHALFOPS")
-  , (ERR_NEEDMOREPARAMS        , ReplyCodeInfo ErrorReply "NEEDMOREPARAMS")
-  , (ERR_ALREADYREGISTERED     , ReplyCodeInfo ErrorReply "ALREADYREGISTERED")
-  , (ERR_NOPERMFORHOST         , ReplyCodeInfo ErrorReply "NOPERMFORHOST")
-  , (ERR_PASSWDMISMATCH        , ReplyCodeInfo ErrorReply "PASSWDMISMATCH")
-  , (ERR_YOUREBANNEDCREEP      , ReplyCodeInfo ErrorReply "YOUREBANNEDCREEP")
-  , (ERR_YOUWILLBEBANNED       , ReplyCodeInfo ErrorReply "YOUWILLBEBANNED")
-  , (ERR_KEYSET                , ReplyCodeInfo ErrorReply "KEYSET")
-  , (ERR_INVALIDUSERNAME       , ReplyCodeInfo ErrorReply "INVALIDUSERNAME")
-  , (ERR_ONLYSERVERSCANCHANGE  , ReplyCodeInfo ErrorReply "ONLYSERVERSCANCHANGE")
-  , (ERR_LINKSET               , ReplyCodeInfo ErrorReply "LINKSET")
-  , (ERR_LINKCHANNEL           , ReplyCodeInfo ErrorReply "LINKCHANNEL")
-  , (ERR_CHANNELISFULL         , ReplyCodeInfo ErrorReply "CHANNELISFULL")
-  , (ERR_UNKNOWNMODE           , ReplyCodeInfo ErrorReply "UNKNOWNMODE")
-  , (ERR_INVITEONLYCHAN        , ReplyCodeInfo ErrorReply "INVITEONLYCHAN")
-  , (ERR_BANNEDFROMCHAN        , ReplyCodeInfo ErrorReply "BANNEDFROMCHAN")
-  , (ERR_BADCHANNELKEY         , ReplyCodeInfo ErrorReply "BADCHANNELKEY")
-  , (ERR_BADCHANMASK           , ReplyCodeInfo ErrorReply "BADCHANMASK")
-  , (ERR_NEEDREGGEDNICK        , ReplyCodeInfo ErrorReply "NEEDREGGEDNICK")
-  , (ERR_BANLISTFULL           , ReplyCodeInfo ErrorReply "BANLISTFULL")
-  , (ERR_BADCHANNAME           , ReplyCodeInfo ErrorReply "BADCHANNAME")
-  , (ERR_THROTTLE              , ReplyCodeInfo ErrorReply "THROTTLE")
-  , (ERR_NOPRIVILEGES          , ReplyCodeInfo ErrorReply "NOPRIVILEGES")
-  , (ERR_CHANOPRIVSNEEDED      , ReplyCodeInfo ErrorReply "CHANOPRIVSNEEDED")
-  , (ERR_CANTKILLSERVER        , ReplyCodeInfo ErrorReply "CANTKILLSERVER")
-  , (ERR_ISCHANSERVICE         , ReplyCodeInfo ErrorReply "ISCHANSERVICE")
-  , (ERR_BANNEDNICK            , ReplyCodeInfo ErrorReply "BANNEDNICK")
-  , (ERR_NONONREG              , ReplyCodeInfo ErrorReply "NONONREG")
-  , (ERR_TSLESSCHAN            , ReplyCodeInfo ErrorReply "TSLESSCHAN")
-  , (ERR_VOICENEEDED           , ReplyCodeInfo ErrorReply "VOICENEEDED")
-  , (ERR_NOOPERHOST            , ReplyCodeInfo ErrorReply "NOOPERHOST")
-  , (ERR_NOSERVICEHOST         , ReplyCodeInfo ErrorReply "NOSERVICEHOST")
-  , (ERR_NOFEATURE             , ReplyCodeInfo ErrorReply "NOFEATURE")
-  , (ERR_OWNMODE               , ReplyCodeInfo ErrorReply "OWNMODE")
-  , (ERR_BADLOGTYPE            , ReplyCodeInfo ErrorReply "BADLOGTYPE")
-  , (ERR_BADLOGSYS             , ReplyCodeInfo ErrorReply "BADLOGSYS")
-  , (ERR_BADLOGVALUE           , ReplyCodeInfo ErrorReply "BADLOGVALUE")
-  , (ERR_ISOPERLCHAN           , ReplyCodeInfo ErrorReply "ISOPERLCHAN")
-  , (ERR_CHANOWNPRIVNEEDED     , ReplyCodeInfo ErrorReply "CHANOWNPRIVNEEDED")
-  , (ERR_UMODEUNKNOWNFLAG      , ReplyCodeInfo ErrorReply "UMODEUNKNOWNFLAG")
-  , (ERR_USERSDONTMATCH        , ReplyCodeInfo ErrorReply "USERSDONTMATCH")
-  , (ERR_GHOSTEDCLIENT         , ReplyCodeInfo ErrorReply "GHOSTEDCLIENT")
-  , (ERR_USERNOTONSERV         , ReplyCodeInfo ErrorReply "USERNOTONSERV")
-  , (ERR_SILELISTFULL          , ReplyCodeInfo ErrorReply "SILELISTFULL")
-  , (ERR_TOOMANYWATCH          , ReplyCodeInfo ErrorReply "TOOMANYWATCH")
-  , (ERR_WRONGPONG             , ReplyCodeInfo ErrorReply "WRONGPONG")
-  , (ERR_BADEXPIRE             , ReplyCodeInfo ErrorReply "BADEXPIRE")
-  , (ERR_DONTCHEAT             , ReplyCodeInfo ErrorReply "DONTCHEAT")
-  , (ERR_DISABLED              , ReplyCodeInfo ErrorReply "DISABLED")
-  , (ERR_NOINVITE              , ReplyCodeInfo ErrorReply "NOINVITE")
-  , (ERR_LONGMASK              , ReplyCodeInfo ErrorReply "LONGMASK")
-  , (ERR_ADMONLY               , ReplyCodeInfo ErrorReply "ADMONLY")
-  , (ERR_TOOMANYUSERS          , ReplyCodeInfo ErrorReply "TOOMANYUSERS")
-  , (ERR_OPERONLY              , ReplyCodeInfo ErrorReply "OPERONLY")
-  , (ERR_MASKTOOWIDE           , ReplyCodeInfo ErrorReply "MASKTOOWIDE")
-  , (ERR_WHOTRUNC              , ReplyCodeInfo ErrorReply "WHOTRUNC")
-  , (ERR_LISTSYNTAX            , ReplyCodeInfo ErrorReply "LISTSYNTAX")
-  , (ERR_WHOSYNTAX             , ReplyCodeInfo ErrorReply "WHOSYNTAX")
-  , (ERR_WHOLIMEXCEED          , ReplyCodeInfo ErrorReply "WHOLIMEXCEED")
-  , (ERR_HELPNOTFOUND          , ReplyCodeInfo ErrorReply "HELPNOTFOUND")
-  , (ERR_REMOTEPFX             , ReplyCodeInfo ErrorReply "REMOTEPFX")
-  , (ERR_PFXUNROUTABLE         , ReplyCodeInfo ErrorReply "PFXUNROUTABLE")
-  , (ERR_BADHOSTMASK           , ReplyCodeInfo ErrorReply "BADHOSTMASK")
-  , (ERR_HOSTUNAVAIL           , ReplyCodeInfo ErrorReply "HOSTUNAVAIL")
-  , (ERR_USINGSLINE            , ReplyCodeInfo ErrorReply "USINGSLINE")
-  , (ERR_STATSSLINE            , ReplyCodeInfo ErrorReply "STATSSLINE")
-  , (RPL_LOGON                 , ReplyCodeInfo CommandReply "LOGON")
-  , (RPL_LOGOFF                , ReplyCodeInfo CommandReply "LOGOFF")
-  , (RPL_WATCHOFF              , ReplyCodeInfo CommandReply "WATCHOFF")
-  , (RPL_WATCHSTAT             , ReplyCodeInfo CommandReply "WATCHSTAT")
-  , (RPL_NOWON                 , ReplyCodeInfo CommandReply "NOWON")
-  , (RPL_NOWOFF                , ReplyCodeInfo CommandReply "NOWOFF")
-  , (RPL_WATCHLIST             , ReplyCodeInfo CommandReply "WATCHLIST")
-  , (RPL_ENDOFWATCHLIST        , ReplyCodeInfo CommandReply "ENDOFWATCHLIST")
-  , (RPL_WATCHCLEAR            , ReplyCodeInfo CommandReply "WATCHCLEAR")
-  , (RPL_ISOPER                , ReplyCodeInfo CommandReply "ISOPER")
-  , (RPL_ISLOCOP               , ReplyCodeInfo CommandReply "ISLOCOP")
-  , (RPL_ISNOTOPER             , ReplyCodeInfo CommandReply "ISNOTOPER")
-  , (RPL_ENDOFISOPER           , ReplyCodeInfo CommandReply "ENDOFISOPER")
-  , (RPL_DCCSTATUS             , ReplyCodeInfo CommandReply "DCCSTATUS")
-  , (RPL_DCCLIST               , ReplyCodeInfo CommandReply "DCCLIST")
-  , (RPL_ENDOFDCCLIST          , ReplyCodeInfo CommandReply "ENDOFDCCLIST")
-  , (RPL_WHOWASHOST            , ReplyCodeInfo CommandReply "WHOWASHOST")
-  , (RPL_DCCINFO               , ReplyCodeInfo CommandReply "DCCINFO")
-  , (RPL_RULES                 , ReplyCodeInfo CommandReply "RULES")
-  , (RPL_ENDOFO                , ReplyCodeInfo CommandReply "ENDOFO")
-  , (RPL_SETTINGS              , ReplyCodeInfo CommandReply "SETTINGS")
-  , (RPL_ENDOFSETTINGS         , ReplyCodeInfo CommandReply "ENDOFSETTINGS")
-  , (RPL_DUMPING               , ReplyCodeInfo CommandReply "DUMPING")
-  , (RPL_DUMPRPL               , ReplyCodeInfo CommandReply "DUMPRPL")
-  , (RPL_EODUMP                , ReplyCodeInfo CommandReply "EODUMP")
-  , (RPL_TRACEROUTE_HOP        , ReplyCodeInfo CommandReply "TRACEROUTE_HOP")
-  , (RPL_TRACEROUTE_START      , ReplyCodeInfo CommandReply "TRACEROUTE_START")
-  , (RPL_MODECHANGEWARN        , ReplyCodeInfo CommandReply "MODECHANGEWARN")
-  , (RPL_CHANREDIR             , ReplyCodeInfo CommandReply "CHANREDIR")
-  , (RPL_SERVMODEIS            , ReplyCodeInfo CommandReply "SERVMODEIS")
-  , (RPL_OTHERUMODEIS          , ReplyCodeInfo CommandReply "OTHERUMODEIS")
-  , (RPL_ENDOF_GENERIC         , ReplyCodeInfo CommandReply "ENDOF_GENERIC")
-  , (RPL_WHOWASDETAILS         , ReplyCodeInfo CommandReply "WHOWASDETAILS")
-  , (RPL_WHOISSECURE           , ReplyCodeInfo CommandReply "WHOISSECURE")
-  , (RPL_UNKNOWNMODES          , ReplyCodeInfo CommandReply "UNKNOWNMODES")
-  , (RPL_CANNOTSETMODES        , ReplyCodeInfo CommandReply "CANNOTSETMODES")
-  , (RPL_LUSERSTAFF            , ReplyCodeInfo CommandReply "LUSERSTAFF")
-  , (RPL_TIMEONSERVERIS        , ReplyCodeInfo CommandReply "TIMEONSERVERIS")
-  , (RPL_NETWORKS              , ReplyCodeInfo CommandReply "NETWORKS")
-  , (RPL_YOURLANGUAGEIS        , ReplyCodeInfo CommandReply "YOURLANGUAGEIS")
-  , (RPL_LANGUAGE              , ReplyCodeInfo CommandReply "LANGUAGE")
-  , (RPL_WHOISSTAFF            , ReplyCodeInfo CommandReply "WHOISSTAFF")
-  , (RPL_WHOISLANGUAGE         , ReplyCodeInfo CommandReply "WHOISLANGUAGE")
-  , (RPL_MODLIST               , ReplyCodeInfo CommandReply "MODLIST")
-  , (RPL_ENDOFMODLIST          , ReplyCodeInfo CommandReply "ENDOFMODLIST")
-  , (RPL_HELPSTART             , ReplyCodeInfo CommandReply "HELPSTART")
-  , (RPL_HELPTXT               , ReplyCodeInfo CommandReply "HELPTXT")
-  , (RPL_ENDOFHELP             , ReplyCodeInfo CommandReply "ENDOFHELP")
-  , (ERR_TARGCHANGE            , ReplyCodeInfo ErrorReply "TARGCHANGE")
-  , (RPL_ETRACEFULL            , ReplyCodeInfo CommandReply "ETRACEFULL")
-  , (RPL_ETRACE                , ReplyCodeInfo CommandReply "ETRACE")
-  , (RPL_KNOCK                 , ReplyCodeInfo CommandReply "KNOCK")
-  , (RPL_KNOCKDLVR             , ReplyCodeInfo CommandReply "KNOCKDLVR")
-  , (ERR_TOOMANYKNOCK          , ReplyCodeInfo ErrorReply "TOOMANYKNOCK")
-  , (ERR_CHANOPEN              , ReplyCodeInfo ErrorReply "CHANOPEN")
-  , (ERR_KNOCKONCHAN           , ReplyCodeInfo ErrorReply "KNOCKONCHAN")
-  , (ERR_KNOCKDISABLED         , ReplyCodeInfo ErrorReply "KNOCKDISABLED")
-  , (RPL_TARGUMODEG            , ReplyCodeInfo CommandReply "TARGUMODEG")
-  , (RPL_TARGNOTIFY            , ReplyCodeInfo CommandReply "TARGNOTIFY")
-  , (RPL_UMODEGMSG             , ReplyCodeInfo CommandReply "UMODEGMSG")
-  , (RPL_OMOTDSTART            , ReplyCodeInfo CommandReply "OMOTDSTART")
-  , (RPL_OMOTD                 , ReplyCodeInfo CommandReply "OMOTD")
-  , (RPL_ENDOFOMOTD            , ReplyCodeInfo CommandReply "ENDOFOMOTD")
-  , (ERR_NOPRIVS               , ReplyCodeInfo ErrorReply "NOPRIVS")
-  , (RPL_TESTMASK              , ReplyCodeInfo CommandReply "TESTMASK")
-  , (RPL_TESTLINE              , ReplyCodeInfo CommandReply "TESTLINE")
-  , (RPL_NOTESTLINE            , ReplyCodeInfo CommandReply "NOTESTLINE")
-  , (RPL_QUIETLIST             , ReplyCodeInfo CommandReply "QUIETLIST")
-  , (RPL_ENDOFQUIETLIST        , ReplyCodeInfo CommandReply "ENDOFQUIETLIST")
-  , (RPL_MONONLINE             , ReplyCodeInfo CommandReply "MONONLINE")
-  , (RPL_MONOFFLINE            , ReplyCodeInfo CommandReply "MONOFFLINE")
-  , (RPL_MONLIST               , ReplyCodeInfo CommandReply "MONLIST")
-  , (RPL_ENDOFMONLIST          , ReplyCodeInfo CommandReply "ENDOFMONLIST")
-  , (ERR_MONLISTFULL           , ReplyCodeInfo ErrorReply "MONLISTFULL")
-  , (RPL_RSACHALLENGE2         , ReplyCodeInfo CommandReply "RSACHALLENGE2")
-  , (RPL_ENDOFRSACHALLENGE2    , ReplyCodeInfo CommandReply "ENDOFRSACHALLENGE2")
-  , (ERR_MLOCKRESTRICTED       , ReplyCodeInfo ErrorReply "MLOCKRESTRICTED")
-  , (RPL_SCANMATCHED           , ReplyCodeInfo CommandReply "SCANMATCHED")
-  , (RPL_SCANUMODES            , ReplyCodeInfo CommandReply "SCANUMODES")
-  , (RPL_XINFO                 , ReplyCodeInfo CommandReply "XINFO")
-  , (RPL_XINFOSTART            , ReplyCodeInfo CommandReply "XINFOSTART")
-  , (RPL_XINFOEND              , ReplyCodeInfo CommandReply "XINFOEND")
-  , (RPL_LOGGEDIN              , ReplyCodeInfo CommandReply "LOGGEDIN")
-  , (RPL_LOGGEDOUT             , ReplyCodeInfo CommandReply "LOGGEDOUT")
-  , (RPL_NICKLOCKED            , ReplyCodeInfo CommandReply "NICKLOCKED")
-  , (RPL_SASLSUCCESS           , ReplyCodeInfo CommandReply "SASLSUCCESS")
-  , (RPL_SASLFAIL              , ReplyCodeInfo CommandReply "SASLFAIL")
-  , (RPL_SASLTOOLONG           , ReplyCodeInfo CommandReply "SASLTOOLONG")
-  , (RPL_SASLABORTED           , ReplyCodeInfo CommandReply "SASLABORTED")
-  , (RPL_SASLALREADY           , ReplyCodeInfo CommandReply "SASLALREADY")
-  , (RPL_SASLMECHS             , ReplyCodeInfo CommandReply "SASLMECHS")
-  , (ERR_CANNOTDOCOMMAND       , ReplyCodeInfo ErrorReply "CANNOTDOCOMMAND")
-  , (ERR_CANNOTCHANGEUMODE     , ReplyCodeInfo ErrorReply "CANNOTCHANGEUMODE")
-  , (ERR_CANNOTCHANGECHANMODE  , ReplyCodeInfo ErrorReply "CANNOTCHANGECHANMODE")
-  , (ERR_CANNOTCHANGESERVERMODE, ReplyCodeInfo ErrorReply "CANNOTCHANGESERVERMODE")
-  , (ERR_CANNOTSENDTONICK      , ReplyCodeInfo ErrorReply "CANNOTSENDTONICK")
-  , (ERR_UNKNOWNSERVERMODE     , ReplyCodeInfo ErrorReply "UNKNOWNSERVERMODE")
-  , (ERR_SERVERMODELOCK        , ReplyCodeInfo ErrorReply "SERVERMODELOCK")
-  , (ERR_BADCHARENCODING       , ReplyCodeInfo ErrorReply "BADCHARENCODING")
-  , (ERR_TOOMANYLANGUAGES      , ReplyCodeInfo ErrorReply "TOOMANYLANGUAGES")
-  , (ERR_NOLANGUAGE            , ReplyCodeInfo ErrorReply "NOLANGUAGE")
-  , (ERR_TEXTTOOSHORT          , ReplyCodeInfo ErrorReply "TEXTTOOSHORT")
-  , (ERR_NUMERIC_ERR           , ReplyCodeInfo ErrorReply "NUMERIC_ERR")
+  [ (RPL_WELCOME               , ReplyCodeInfo ClientServerReply "welcome")
+  , (RPL_YOURHOST              , ReplyCodeInfo ClientServerReply "your-host")
+  , (RPL_CREATED               , ReplyCodeInfo ClientServerReply "created")
+  , (RPL_MYINFO                , ReplyCodeInfo ClientServerReply "my-info")
+  , (RPL_ISUPPORT              , ReplyCodeInfo ClientServerReply "isupport")
+  , (RPL_SNOMASK               , ReplyCodeInfo ClientServerReply "sno-mask")
+  , (RPL_STATMEMTOT            , ReplyCodeInfo ClientServerReply "stat-mem-tot")
+  , (RPL_REDIR                 , ReplyCodeInfo ClientServerReply "redir")
+  , (RPL_YOURCOOKIE            , ReplyCodeInfo ClientServerReply "your-cookie")
+  , (RPL_MAP                   , ReplyCodeInfo ClientServerReply "map")
+  , (RPL_MAPEND                , ReplyCodeInfo ClientServerReply "map-end")
+  , (RPL_YOURID                , ReplyCodeInfo ClientServerReply "your-id")
+  , (RPL_SAVENICK              , ReplyCodeInfo ClientServerReply "save-nick")
+  , (RPL_ATTEMPTINGJUNC        , ReplyCodeInfo ClientServerReply "attempting-junc")
+  , (RPL_ATTEMPTINGREROUTE     , ReplyCodeInfo ClientServerReply "attempting-reroute")
+  , (RPL_TRACELINK             , ReplyCodeInfo CommandReply "trace-link")
+  , (RPL_TRACECONNECTING       , ReplyCodeInfo CommandReply "trace-connecting")
+  , (RPL_TRACEHANDSHAKE        , ReplyCodeInfo CommandReply "trace-handshake")
+  , (RPL_TRACEUNKNOWN          , ReplyCodeInfo CommandReply "trace-unknown")
+  , (RPL_TRACEOPERATOR         , ReplyCodeInfo CommandReply "trace-operator")
+  , (RPL_TRACEUSER             , ReplyCodeInfo CommandReply "trace-user")
+  , (RPL_TRACESERVER           , ReplyCodeInfo CommandReply "trace-server")
+  , (RPL_TRACESERVICE          , ReplyCodeInfo CommandReply "trace-service")
+  , (RPL_TRACENEWTYPE          , ReplyCodeInfo CommandReply "trace-newtype")
+  , (RPL_TRACECLASS            , ReplyCodeInfo CommandReply "trace-class")
+  , (RPL_TRACERECONNECT        , ReplyCodeInfo CommandReply "trace-reconnect")
+  , (RPL_STATS                 , ReplyCodeInfo CommandReply "stats")
+  , (RPL_STATSLINKINFO         , ReplyCodeInfo CommandReply "stats-linkinfo")
+  , (RPL_STATSCOMMANDS         , ReplyCodeInfo CommandReply "stats-commands")
+  , (RPL_STATSCLINE            , ReplyCodeInfo CommandReply "stats-cline")
+  , (RPL_STATSNLINE            , ReplyCodeInfo CommandReply "stats-nline")
+  , (RPL_STATSILINE            , ReplyCodeInfo CommandReply "stats-iline")
+  , (RPL_STATSKLINE            , ReplyCodeInfo CommandReply "stats-kline")
+  , (RPL_STATSQLINE            , ReplyCodeInfo CommandReply "stats-qline")
+  , (RPL_STATSYLINE            , ReplyCodeInfo CommandReply "stats-yline")
+  , (RPL_ENDOFSTATS            , ReplyCodeInfo CommandReply "end-of-stats")
+  , (RPL_STATSPLINE            , ReplyCodeInfo CommandReply "stats-pline")
+  , (RPL_UMODEIS               , ReplyCodeInfo CommandReply "umode-is")
+  , (RPL_SQLINE_NICK           , ReplyCodeInfo CommandReply "sqline-nick")
+  , (RPL_STATSDLINE            , ReplyCodeInfo CommandReply "stats-dline")
+  , (RPL_STATSZLINE            , ReplyCodeInfo CommandReply "stats-zline")
+  , (RPL_STATSCOUNT            , ReplyCodeInfo CommandReply "stats-count")
+  , (RPL_SERVICEINFO           , ReplyCodeInfo CommandReply "service-info")
+  , (RPL_ENDOFSERVICES         , ReplyCodeInfo CommandReply "end-of-services")
+  , (RPL_SERVICE               , ReplyCodeInfo CommandReply "service")
+  , (RPL_SERVLIST              , ReplyCodeInfo CommandReply "serv-list")
+  , (RPL_SERVLISTEND           , ReplyCodeInfo CommandReply "serv-list-end")
+  , (RPL_STATSVERBOSE          , ReplyCodeInfo CommandReply "stats-verbose")
+  , (RPL_STATSIAUTH            , ReplyCodeInfo CommandReply "stats-iauth")
+  , (RPL_STATSLLINE            , ReplyCodeInfo CommandReply "stats-lline")
+  , (RPL_STATSUPTIME           , ReplyCodeInfo CommandReply "stats-uptime")
+  , (RPL_STATSOLINE            , ReplyCodeInfo CommandReply "stats-oline")
+  , (RPL_STATSHLINE            , ReplyCodeInfo CommandReply "stats-hline")
+  , (RPL_STATSSLINE            , ReplyCodeInfo CommandReply "stats-sline")
+  , (RPL_STATSPING             , ReplyCodeInfo CommandReply "stats-ping")
+  , (RPL_STATSXLINE            , ReplyCodeInfo CommandReply "stats-xline")
+  , (RPL_STATSULINE            , ReplyCodeInfo CommandReply "stats-uline")
+  , (RPL_STATSDEBUG            , ReplyCodeInfo CommandReply "stats-debug")
+  , (RPL_STATSCONN             , ReplyCodeInfo CommandReply "stats-conn")
+  , (RPL_LUSERCLIENT           , ReplyCodeInfo CommandReply "luser-client")
+  , (RPL_LUSEROP               , ReplyCodeInfo CommandReply "luser-op")
+  , (RPL_LUSERUNKNOWN          , ReplyCodeInfo CommandReply "luser-unknown")
+  , (RPL_LUSERCHANNELS         , ReplyCodeInfo CommandReply "luser-channels")
+  , (RPL_LUSERME               , ReplyCodeInfo CommandReply "luser-me")
+  , (RPL_ADMINME               , ReplyCodeInfo CommandReply "admin-me")
+  , (RPL_ADMINLOC1             , ReplyCodeInfo CommandReply "admin-loc1")
+  , (RPL_ADMINLOC2             , ReplyCodeInfo CommandReply "admin-loc2")
+  , (RPL_ADMINEMAIL            , ReplyCodeInfo CommandReply "admin-email")
+  , (RPL_TRACELOG              , ReplyCodeInfo CommandReply "trace-log")
+  , (RPL_ENDOFTRACE            , ReplyCodeInfo CommandReply "end-of-trace")
+  , (RPL_LOAD2HI               , ReplyCodeInfo CommandReply "load-too-hi")
+  , (RPL_LOCALUSERS            , ReplyCodeInfo CommandReply "local-users")
+  , (RPL_GLOBALUSERS           , ReplyCodeInfo CommandReply "global-users")
+  , (RPL_START_NETSTAT         , ReplyCodeInfo CommandReply "start-netstat")
+  , (RPL_NETSTAT               , ReplyCodeInfo CommandReply "netstat")
+  , (RPL_END_NETSTAT           , ReplyCodeInfo CommandReply "end-netstat")
+  , (RPL_PRIVS                 , ReplyCodeInfo CommandReply "privs")
+  , (RPL_SILELIST              , ReplyCodeInfo CommandReply "sile-list")
+  , (RPL_ENDOFSILELIST         , ReplyCodeInfo CommandReply "end-of-sile-list")
+  , (RPL_NOTIFY                , ReplyCodeInfo CommandReply "notify")
+  , (RPL_ENDNOTIFY             , ReplyCodeInfo CommandReply "end-notify")
+  , (RPL_STATSDELTA            , ReplyCodeInfo CommandReply "stats-delta")
+  , (RPL_WHOISCERTFP           , ReplyCodeInfo CommandReply "whois-certfp")
+  , (RPL_VCHANLIST             , ReplyCodeInfo CommandReply "vchan-list")
+  , (RPL_VCHANHELP             , ReplyCodeInfo CommandReply "vchan-help")
+  , (RPL_GLIST                 , ReplyCodeInfo CommandReply "glist")
+  , (RPL_ACCEPTLIST            , ReplyCodeInfo CommandReply "accept-list")
+  , (RPL_ENDOFACCEPT           , ReplyCodeInfo CommandReply "end-of-accept")
+  , (RPL_ENDOFJUPELIST         , ReplyCodeInfo CommandReply "end-of-jupe-list")
+  , (RPL_FEATURE               , ReplyCodeInfo CommandReply "feature")
+  , (RPL_DATASTR               , ReplyCodeInfo CommandReply "datastr")
+  , (RPL_END_CHANINFO          , ReplyCodeInfo CommandReply "end-chaninfo")
+  , (RPL_NONE                  , ReplyCodeInfo CommandReply "none")
+  , (RPL_AWAY                  , ReplyCodeInfo CommandReply "away")
+  , (RPL_USERHOST              , ReplyCodeInfo CommandReply "userhost")
+  , (RPL_ISON                  , ReplyCodeInfo CommandReply "ison")
+  , (RPL_TEXT                  , ReplyCodeInfo CommandReply "text")
+  , (RPL_UNAWAY                , ReplyCodeInfo CommandReply "unaway")
+  , (RPL_NOWAWAY               , ReplyCodeInfo CommandReply "nowaway")
+  , (RPL_WHOISREGNICK          , ReplyCodeInfo CommandReply "whois-regnick")
+  , (RPL_SUSERHOST             , ReplyCodeInfo CommandReply "suserhost")
+  , (RPL_NOTIFYACTION          , ReplyCodeInfo CommandReply "notify-action")
+  , (RPL_WHOISADMIN            , ReplyCodeInfo CommandReply "whois-admin")
+  , (RPL_NICKTRACE             , ReplyCodeInfo CommandReply "nick-trace")
+  , (RPL_WHOISSADMIN           , ReplyCodeInfo CommandReply "whois-sadmin")
+  , (RPL_WHOISHELPER           , ReplyCodeInfo CommandReply "whois-helper")
+  , (RPL_WHOISUSER             , ReplyCodeInfo CommandReply "whois-user")
+  , (RPL_WHOISSERVER           , ReplyCodeInfo CommandReply "whois-server")
+  , (RPL_WHOISOPERATOR         , ReplyCodeInfo CommandReply "whois-operator")
+  , (RPL_WHOWASUSER            , ReplyCodeInfo CommandReply "whowas-user")
+  , (RPL_ENDOFWHO              , ReplyCodeInfo CommandReply "end-of-who")
+  , (RPL_WHOISCHANOP           , ReplyCodeInfo CommandReply "whois-chanop")
+  , (RPL_WHOISIDLE             , ReplyCodeInfo CommandReply "whois-idle")
+  , (RPL_ENDOFWHOIS            , ReplyCodeInfo CommandReply "end-of-whois")
+  , (RPL_WHOISCHANNELS         , ReplyCodeInfo CommandReply "whois-channels")
+  , (RPL_WHOISSPECIAL          , ReplyCodeInfo CommandReply "whois-special")
+  , (RPL_LISTSTART             , ReplyCodeInfo CommandReply "list-start")
+  , (RPL_LIST                  , ReplyCodeInfo CommandReply "list")
+  , (RPL_LISTEND               , ReplyCodeInfo CommandReply "list-end")
+  , (RPL_CHANNELMODEIS         , ReplyCodeInfo CommandReply "channel-mode-is")
+  , (RPL_CHANNELMLOCKIS        , ReplyCodeInfo CommandReply "channel-mlock-is")
+  , (RPL_NOCHANPASS            , ReplyCodeInfo CommandReply "nochanpass")
+  , (RPL_CHPASSUNKNOWN         , ReplyCodeInfo CommandReply "chpass-unknown")
+  , (RPL_CHANNEL_URL           , ReplyCodeInfo CommandReply "channel-url")
+  , (RPL_CREATIONTIME          , ReplyCodeInfo CommandReply "creation-time")
+  , (RPL_WHOWAS_TIME           , ReplyCodeInfo CommandReply "whowas-time")
+  , (RPL_WHOISACCOUNT          , ReplyCodeInfo CommandReply "whois-account")
+  , (RPL_NOTOPIC               , ReplyCodeInfo CommandReply "notopic")
+  , (RPL_TOPIC                 , ReplyCodeInfo CommandReply "topic")
+  , (RPL_TOPICWHOTIME          , ReplyCodeInfo CommandReply "topic-whotime")
+  , (RPL_LISTUSAGE             , ReplyCodeInfo CommandReply "list-usage")
+  , (RPL_COMMANDSYNTAX         , ReplyCodeInfo CommandReply "command-syntax")
+  , (RPL_LISTSYNTAX            , ReplyCodeInfo CommandReply "list-syntax")
+  , (RPL_WHOISACTUALLY         , ReplyCodeInfo CommandReply "whois-actually")
+  , (RPL_BADCHANPASS           , ReplyCodeInfo CommandReply "bad-chanpass")
+  , (RPL_INVITING              , ReplyCodeInfo CommandReply "inviting")
+  , (RPL_SUMMONING             , ReplyCodeInfo CommandReply "summoning")
+  , (RPL_INVITED               , ReplyCodeInfo CommandReply "invited")
+  , (RPL_INVEXLIST             , ReplyCodeInfo CommandReply "invex-list")
+  , (RPL_ENDOFINVEXLIST        , ReplyCodeInfo CommandReply "end-of-invex-list")
+  , (RPL_EXCEPTLIST            , ReplyCodeInfo CommandReply "except-list")
+  , (RPL_ENDOFEXCEPTLIST       , ReplyCodeInfo CommandReply "end-of-except-list")
+  , (RPL_VERSION               , ReplyCodeInfo CommandReply "version")
+  , (RPL_WHOREPLY              , ReplyCodeInfo CommandReply "who-reply")
+  , (RPL_NAMREPLY              , ReplyCodeInfo CommandReply "nam-reply")
+  , (RPL_WHOSPCRPL             , ReplyCodeInfo CommandReply "who-special-reply")
+  , (RPL_NAMREPLY_             , ReplyCodeInfo CommandReply "nam-reply_")
+  , (RPL_WHOWASREAL            , ReplyCodeInfo CommandReply "whowas-real")
+  , (RPL_KILLDONE              , ReplyCodeInfo CommandReply "kill-done")
+  , (RPL_CLOSING               , ReplyCodeInfo CommandReply "closing")
+  , (RPL_CLOSEEND              , ReplyCodeInfo CommandReply "close-end")
+  , (RPL_LINKS                 , ReplyCodeInfo CommandReply "links")
+  , (RPL_ENDOFLINKS            , ReplyCodeInfo CommandReply "end-of-links")
+  , (RPL_ENDOFNAMES            , ReplyCodeInfo CommandReply "end-of-names")
+  , (RPL_BANLIST               , ReplyCodeInfo CommandReply "ban-list")
+  , (RPL_ENDOFBANLIST          , ReplyCodeInfo CommandReply "end-of-ban-list")
+  , (RPL_ENDOFWHOWAS           , ReplyCodeInfo CommandReply "end-of-whowas")
+  , (RPL_INFO                  , ReplyCodeInfo CommandReply "info")
+  , (RPL_MOTD                  , ReplyCodeInfo CommandReply "motd")
+  , (RPL_INFOSTART             , ReplyCodeInfo CommandReply "info-start")
+  , (RPL_ENDOFINFO             , ReplyCodeInfo CommandReply "end-of-info")
+  , (RPL_MOTDSTART             , ReplyCodeInfo CommandReply "motd-start")
+  , (RPL_ENDOFMOTD             , ReplyCodeInfo CommandReply "end-of-motd")
+  , (RPL_WHOISHOST             , ReplyCodeInfo CommandReply "whois-host")
+  , (RPL_KICKLINKED            , ReplyCodeInfo CommandReply "kick-linked")
+  , (RPL_YOUREOPER             , ReplyCodeInfo CommandReply "youre-oper")
+  , (RPL_REHASHING             , ReplyCodeInfo CommandReply "rehashing")
+  , (RPL_YOURESERVICE          , ReplyCodeInfo CommandReply "youre-service")
+  , (RPL_MYPORTIS              , ReplyCodeInfo CommandReply "my-port-is")
+  , (RPL_NOTOPERANYMORE        , ReplyCodeInfo CommandReply "not-oper-anymore")
+  , (RPL_RSACHALLENGE          , ReplyCodeInfo CommandReply "rsa-challenge")
+  , (RPL_TIME                  , ReplyCodeInfo CommandReply "time")
+  , (RPL_USERSSTART            , ReplyCodeInfo CommandReply "users-start")
+  , (RPL_USERS                 , ReplyCodeInfo CommandReply "users")
+  , (RPL_ENDOFUSERS            , ReplyCodeInfo CommandReply "end-of-users")
+  , (RPL_NOUSERS               , ReplyCodeInfo CommandReply "nousers")
+  , (RPL_HOSTHIDDEN            , ReplyCodeInfo CommandReply "host-hidden")
+  , (ERR_UNKNOWNERROR          , ReplyCodeInfo ErrorReply "unknown-error")
+  , (ERR_NOSUCHNICK            , ReplyCodeInfo ErrorReply "no-such-nick")
+  , (ERR_NOSUCHSERVER          , ReplyCodeInfo ErrorReply "no-such-server")
+  , (ERR_NOSUCHCHANNEL         , ReplyCodeInfo ErrorReply "no-such-channel")
+  , (ERR_CANNOTSENDTOCHAN      , ReplyCodeInfo ErrorReply "cannot-send-to-chan")
+  , (ERR_TOOMANYCHANNELS       , ReplyCodeInfo ErrorReply "too-many-channels")
+  , (ERR_WASNOSUCHNICK         , ReplyCodeInfo ErrorReply "was-no-such-nick")
+  , (ERR_TOOMANYTARGETS        , ReplyCodeInfo ErrorReply "too-many-targets")
+  , (ERR_NOORIGIN              , ReplyCodeInfo ErrorReply "no-origin")
+  , (ERR_NORECIPIENT           , ReplyCodeInfo ErrorReply "no-recipient")
+  , (ERR_NOTEXTTOSEND          , ReplyCodeInfo ErrorReply "no-text-to-send")
+  , (ERR_NOTOPLEVEL            , ReplyCodeInfo ErrorReply "no-top-level")
+  , (ERR_WILDTOPLEVEL          , ReplyCodeInfo ErrorReply "wild-top-level")
+  , (ERR_BADMASK               , ReplyCodeInfo ErrorReply "bad-mask")
+  , (ERR_TOOMANYMATCHES        , ReplyCodeInfo ErrorReply "too-many-matches")
+  , (ERR_LENGTHTRUNCATED       , ReplyCodeInfo ErrorReply "length-truncated")
+  , (ERR_UNKNOWNCOMMAND        , ReplyCodeInfo ErrorReply "unknown-command")
+  , (ERR_NOMOTD                , ReplyCodeInfo ErrorReply "no-motd")
+  , (ERR_NOADMININFO           , ReplyCodeInfo ErrorReply "no-admin-info")
+  , (ERR_FILEERROR             , ReplyCodeInfo ErrorReply "file-error")
+  , (ERR_NOOPERMOTD            , ReplyCodeInfo ErrorReply "no-oper-motd")
+  , (ERR_TOOMANYAWAY           , ReplyCodeInfo ErrorReply "too-many-away")
+  , (ERR_EVENTNICKCHANGE       , ReplyCodeInfo ErrorReply "event-nick-change")
+  , (ERR_NONICKNAMEGIVEN       , ReplyCodeInfo ErrorReply "no-nickname-given")
+  , (ERR_ERRONEUSNICKNAME      , ReplyCodeInfo ErrorReply "err-no-use-nickname")
+  , (ERR_NICKNAMEINUSE         , ReplyCodeInfo ErrorReply "nickname-in-use")
+  , (ERR_SERVICENAMEINUSE      , ReplyCodeInfo ErrorReply "service-name-in-use")
+  , (ERR_NORULES               , ReplyCodeInfo ErrorReply "no-rules")
+  , (ERR_BANNICKCHANGE         , ReplyCodeInfo ErrorReply "ban-nick-change")
+  , (ERR_NICKCOLLISION         , ReplyCodeInfo ErrorReply "nick-collision")
+  , (ERR_UNAVAILRESOURCE       , ReplyCodeInfo ErrorReply "unavail-resource")
+  , (ERR_NICKTOOFAST           , ReplyCodeInfo ErrorReply "nick-too-fast")
+  , (ERR_TARGETTOOFAST         , ReplyCodeInfo ErrorReply "target-too-fast")
+  , (ERR_SERVICESDOWN          , ReplyCodeInfo ErrorReply "services-down")
+  , (ERR_USERNOTINCHANNEL      , ReplyCodeInfo ErrorReply "user-not-in-channel")
+  , (ERR_NOTONCHANNEL          , ReplyCodeInfo ErrorReply "not-on-channel")
+  , (ERR_USERONCHANNEL         , ReplyCodeInfo ErrorReply "user-on-channel")
+  , (ERR_NOLOGIN               , ReplyCodeInfo ErrorReply "no-login")
+  , (ERR_SUMMONDISABLED        , ReplyCodeInfo ErrorReply "summon-disabled")
+  , (ERR_USERSDISABLED         , ReplyCodeInfo ErrorReply "users-disabled")
+  , (ERR_NONICKCHANGE          , ReplyCodeInfo ErrorReply "no-nick-change")
+  , (ERR_NOTIMPLEMENTED        , ReplyCodeInfo ErrorReply "not-implemented")
+  , (ERR_NOTREGISTERED         , ReplyCodeInfo ErrorReply "not-registered")
+  , (ERR_IDCOLLISION           , ReplyCodeInfo ErrorReply "id-collision")
+  , (ERR_NICKLOST              , ReplyCodeInfo ErrorReply "nick-lost")
+  , (ERR_HOSTILENAME           , ReplyCodeInfo ErrorReply "hostile-name")
+  , (ERR_ACCEPTFULL            , ReplyCodeInfo ErrorReply "accept-full")
+  , (ERR_ACCEPTEXIST           , ReplyCodeInfo ErrorReply "accept-exist")
+  , (ERR_ACCEPTNOT             , ReplyCodeInfo ErrorReply "accept-not")
+  , (ERR_NOHIDING              , ReplyCodeInfo ErrorReply "no-hiding")
+  , (ERR_NOTFORHALFOPS         , ReplyCodeInfo ErrorReply "not-for-halfops")
+  , (ERR_NEEDMOREPARAMS        , ReplyCodeInfo ErrorReply "need-more-params")
+  , (ERR_ALREADYREGISTERED     , ReplyCodeInfo ErrorReply "already-registered")
+  , (ERR_NOPERMFORHOST         , ReplyCodeInfo ErrorReply "no-perm-for-host")
+  , (ERR_PASSWDMISMATCH        , ReplyCodeInfo ErrorReply "passwd-mismatch")
+  , (ERR_YOUREBANNEDCREEP      , ReplyCodeInfo ErrorReply "youre-banned-creep")
+  , (ERR_YOUWILLBEBANNED       , ReplyCodeInfo ErrorReply "you-will-be-banned")
+  , (ERR_KEYSET                , ReplyCodeInfo ErrorReply "keyset")
+  , (ERR_INVALIDUSERNAME       , ReplyCodeInfo ErrorReply "invalid-username")
+  , (ERR_ONLYSERVERSCANCHANGE  , ReplyCodeInfo ErrorReply "only-servers-can-change")
+  , (ERR_LINKSET               , ReplyCodeInfo ErrorReply "link-set")
+  , (ERR_LINKCHANNEL           , ReplyCodeInfo ErrorReply "link-channel")
+  , (ERR_CHANNELISFULL         , ReplyCodeInfo ErrorReply "channel-is-full")
+  , (ERR_UNKNOWNMODE           , ReplyCodeInfo ErrorReply "unknown-mode")
+  , (ERR_INVITEONLYCHAN        , ReplyCodeInfo ErrorReply "invite-only-chan")
+  , (ERR_BANNEDFROMCHAN        , ReplyCodeInfo ErrorReply "banned-from-chan")
+  , (ERR_BADCHANNELKEY         , ReplyCodeInfo ErrorReply "bad-channel-key")
+  , (ERR_BADCHANMASK           , ReplyCodeInfo ErrorReply "bad-chan-mask")
+  , (ERR_NEEDREGGEDNICK        , ReplyCodeInfo ErrorReply "need-regged-nick")
+  , (ERR_BANLISTFULL           , ReplyCodeInfo ErrorReply "ban-list-full")
+  , (ERR_BADCHANNAME           , ReplyCodeInfo ErrorReply "bad-chan-name")
+  , (ERR_THROTTLE              , ReplyCodeInfo ErrorReply "throttle")
+  , (ERR_NOPRIVILEGES          , ReplyCodeInfo ErrorReply "no-privileges")
+  , (ERR_CHANOPRIVSNEEDED      , ReplyCodeInfo ErrorReply "chano-privs-needed")
+  , (ERR_CANTKILLSERVER        , ReplyCodeInfo ErrorReply "cant-kill-server")
+  , (ERR_ISCHANSERVICE         , ReplyCodeInfo ErrorReply "is-chan-service")
+  , (ERR_BANNEDNICK            , ReplyCodeInfo ErrorReply "banned-nick")
+  , (ERR_NONONREG              , ReplyCodeInfo ErrorReply "no-nonreg")
+  , (ERR_TSLESSCHAN            , ReplyCodeInfo ErrorReply "tsless-chan")
+  , (ERR_VOICENEEDED           , ReplyCodeInfo ErrorReply "voice-needed")
+  , (ERR_NOOPERHOST            , ReplyCodeInfo ErrorReply "no-oper-host")
+  , (ERR_NOSERVICEHOST         , ReplyCodeInfo ErrorReply "no-service-host")
+  , (ERR_NOFEATURE             , ReplyCodeInfo ErrorReply "no-feature")
+  , (ERR_OWNMODE               , ReplyCodeInfo ErrorReply "own-mode")
+  , (ERR_BADLOGTYPE            , ReplyCodeInfo ErrorReply "bad-log-type")
+  , (ERR_BADLOGSYS             , ReplyCodeInfo ErrorReply "bad-log-sys")
+  , (ERR_BADLOGVALUE           , ReplyCodeInfo ErrorReply "bad-log-value")
+  , (ERR_ISOPERLCHAN           , ReplyCodeInfo ErrorReply "is-oper-lchan")
+  , (ERR_CHANOWNPRIVNEEDED     , ReplyCodeInfo ErrorReply "chan-own-priv-needed")
+  , (ERR_UMODEUNKNOWNFLAG      , ReplyCodeInfo ErrorReply "umode-unknown-flag")
+  , (ERR_USERSDONTMATCH        , ReplyCodeInfo ErrorReply "users-dont-match")
+  , (ERR_GHOSTEDCLIENT         , ReplyCodeInfo ErrorReply "ghosted-client")
+  , (ERR_USERNOTONSERV         , ReplyCodeInfo ErrorReply "user-not-on-serv")
+  , (ERR_SILELISTFULL          , ReplyCodeInfo ErrorReply "sile-list-full")
+  , (ERR_TOOMANYWATCH          , ReplyCodeInfo ErrorReply "too-many-watch")
+  , (ERR_WRONGPONG             , ReplyCodeInfo ErrorReply "wrong-pong")
+  , (ERR_BADEXPIRE             , ReplyCodeInfo ErrorReply "bad-expire")
+  , (ERR_DONTCHEAT             , ReplyCodeInfo ErrorReply "dont-cheat")
+  , (ERR_DISABLED              , ReplyCodeInfo ErrorReply "disabled")
+  , (ERR_NOINVITE              , ReplyCodeInfo ErrorReply "no-invite")
+  , (ERR_LONGMASK              , ReplyCodeInfo ErrorReply "long-mask")
+  , (ERR_ADMONLY               , ReplyCodeInfo ErrorReply "adm-only")
+  , (ERR_TOOMANYUSERS          , ReplyCodeInfo ErrorReply "too-many-users")
+  , (ERR_OPERONLY              , ReplyCodeInfo ErrorReply "oper-only")
+  , (ERR_MASKTOOWIDE           , ReplyCodeInfo ErrorReply "mask-too-wide")
+  , (ERR_WHOTRUNC              , ReplyCodeInfo ErrorReply "who-trunc")
+  , (ERR_LISTSYNTAX            , ReplyCodeInfo ErrorReply "list-syntax")
+  , (ERR_WHOSYNTAX             , ReplyCodeInfo ErrorReply "whosyntax")
+  , (ERR_WHOLIMEXCEED          , ReplyCodeInfo ErrorReply "wholimexceed")
+  , (ERR_HELPNOTFOUND          , ReplyCodeInfo ErrorReply "help-not-found")
+  , (ERR_REMOTEPFX             , ReplyCodeInfo ErrorReply "remote-pfx")
+  , (ERR_PFXUNROUTABLE         , ReplyCodeInfo ErrorReply "pfx-unroutable")
+  , (ERR_BADHOSTMASK           , ReplyCodeInfo ErrorReply "bad-hostmask")
+  , (ERR_HOSTUNAVAIL           , ReplyCodeInfo ErrorReply "host-unavail")
+  , (ERR_USINGSLINE            , ReplyCodeInfo ErrorReply "using-sline")
+  , (ERR_STATSSLINE            , ReplyCodeInfo ErrorReply "stats-sline")
+  , (RPL_LOGON                 , ReplyCodeInfo CommandReply "logon")
+  , (RPL_LOGOFF                , ReplyCodeInfo CommandReply "logoff")
+  , (RPL_WATCHOFF              , ReplyCodeInfo CommandReply "watch-off")
+  , (RPL_WATCHSTAT             , ReplyCodeInfo CommandReply "watch-stat")
+  , (RPL_NOWON                 , ReplyCodeInfo CommandReply "now-on")
+  , (RPL_NOWOFF                , ReplyCodeInfo CommandReply "now-off")
+  , (RPL_WATCHLIST             , ReplyCodeInfo CommandReply "watch-list")
+  , (RPL_ENDOFWATCHLIST        , ReplyCodeInfo CommandReply "end-of-watch-list")
+  , (RPL_WATCHCLEAR            , ReplyCodeInfo CommandReply "watch-clear")
+  , (RPL_ISOPER                , ReplyCodeInfo CommandReply "is-oper")
+  , (RPL_ISLOCOP               , ReplyCodeInfo CommandReply "is-loc-op")
+  , (RPL_ISNOTOPER             , ReplyCodeInfo CommandReply "is-not-oper")
+  , (RPL_ENDOFISOPER           , ReplyCodeInfo CommandReply "end-of-is-oper")
+  , (RPL_DCCSTATUS             , ReplyCodeInfo CommandReply "dcc-status")
+  , (RPL_DCCLIST               , ReplyCodeInfo CommandReply "dcc-list")
+  , (RPL_ENDOFDCCLIST          , ReplyCodeInfo CommandReply "end-of-dcc-list")
+  , (RPL_WHOWASHOST            , ReplyCodeInfo CommandReply "whowas-host")
+  , (RPL_DCCINFO               , ReplyCodeInfo CommandReply "dcc-info")
+  , (RPL_RULES                 , ReplyCodeInfo CommandReply "rules")
+  , (RPL_ENDOFO                , ReplyCodeInfo CommandReply "end-of-o")
+  , (RPL_SETTINGS              , ReplyCodeInfo CommandReply "settings")
+  , (RPL_ENDOFSETTINGS         , ReplyCodeInfo CommandReply "end-of-settings")
+  , (RPL_DUMPING               , ReplyCodeInfo CommandReply "dumping")
+  , (RPL_DUMPRPL               , ReplyCodeInfo CommandReply "dump-rpl")
+  , (RPL_EODUMP                , ReplyCodeInfo CommandReply "eodump")
+  , (RPL_TRACEROUTE_HOP        , ReplyCodeInfo CommandReply "traceroute-hop")
+  , (RPL_TRACEROUTE_START      , ReplyCodeInfo CommandReply "traceroute-start")
+  , (RPL_MODECHANGEWARN        , ReplyCodeInfo CommandReply "mode-change-warn")
+  , (RPL_CHANREDIR             , ReplyCodeInfo CommandReply "chan-redir")
+  , (RPL_SERVMODEIS            , ReplyCodeInfo CommandReply "serv-mode-is")
+  , (RPL_OTHERUMODEIS          , ReplyCodeInfo CommandReply "other-umode-is")
+  , (RPL_ENDOF_GENERIC         , ReplyCodeInfo CommandReply "end-of-generic")
+  , (RPL_WHOWASDETAILS         , ReplyCodeInfo CommandReply "whowas-details")
+  , (RPL_WHOISSECURE           , ReplyCodeInfo CommandReply "whois-secure")
+  , (RPL_UNKNOWNMODES          , ReplyCodeInfo CommandReply "unknown-modes")
+  , (RPL_CANNOTSETMODES        , ReplyCodeInfo CommandReply "cannot-set-modes")
+  , (RPL_LUSERSTAFF            , ReplyCodeInfo CommandReply "luser-staff")
+  , (RPL_TIMEONSERVERIS        , ReplyCodeInfo CommandReply "time-on-server-is")
+  , (RPL_NETWORKS              , ReplyCodeInfo CommandReply "networks")
+  , (RPL_YOURLANGUAGEIS        , ReplyCodeInfo CommandReply "your-language-is")
+  , (RPL_LANGUAGE              , ReplyCodeInfo CommandReply "language")
+  , (RPL_WHOISSTAFF            , ReplyCodeInfo CommandReply "whois-staff")
+  , (RPL_WHOISLANGUAGE         , ReplyCodeInfo CommandReply "who-is-language")
+  , (RPL_MODLIST               , ReplyCodeInfo CommandReply "mod-list")
+  , (RPL_ENDOFMODLIST          , ReplyCodeInfo CommandReply "end-of-modlist")
+  , (RPL_HELPSTART             , ReplyCodeInfo CommandReply "help-start")
+  , (RPL_HELPTXT               , ReplyCodeInfo CommandReply "help-txt")
+  , (RPL_ENDOFHELP             , ReplyCodeInfo CommandReply "end-of-help")
+  , (ERR_TARGCHANGE            , ReplyCodeInfo ErrorReply "targ-change")
+  , (RPL_ETRACEFULL            , ReplyCodeInfo CommandReply "etrace-full")
+  , (RPL_ETRACE                , ReplyCodeInfo CommandReply "etrace")
+  , (RPL_KNOCK                 , ReplyCodeInfo CommandReply "knock")
+  , (RPL_KNOCKDLVR             , ReplyCodeInfo CommandReply "knockd-lvr")
+  , (ERR_TOOMANYKNOCK          , ReplyCodeInfo ErrorReply "too-many-knock")
+  , (ERR_CHANOPEN              , ReplyCodeInfo ErrorReply "chan-open")
+  , (ERR_KNOCKONCHAN           , ReplyCodeInfo ErrorReply "knock-on-chan")
+  , (ERR_KNOCKDISABLED         , ReplyCodeInfo ErrorReply "knock-disabled")
+  , (RPL_TARGUMODEG            , ReplyCodeInfo CommandReply "targ-umodeg")
+  , (RPL_TARGNOTIFY            , ReplyCodeInfo CommandReply "targ-notify")
+  , (RPL_UMODEGMSG             , ReplyCodeInfo CommandReply "umodeg-msg")
+  , (RPL_OMOTDSTART            , ReplyCodeInfo CommandReply "omotd-start")
+  , (RPL_OMOTD                 , ReplyCodeInfo CommandReply "omotd")
+  , (RPL_ENDOFOMOTD            , ReplyCodeInfo CommandReply "end-of-omotd")
+  , (ERR_NOPRIVS               , ReplyCodeInfo ErrorReply "no-privs")
+  , (RPL_TESTMASK              , ReplyCodeInfo CommandReply "test-mask")
+  , (RPL_TESTLINE              , ReplyCodeInfo CommandReply "test-line")
+  , (RPL_NOTESTLINE            , ReplyCodeInfo CommandReply "no-test-line")
+  , (RPL_QUIETLIST             , ReplyCodeInfo CommandReply "quiet-list")
+  , (RPL_ENDOFQUIETLIST        , ReplyCodeInfo CommandReply "end-of-quiet-list")
+  , (RPL_MONONLINE             , ReplyCodeInfo CommandReply "mon-online")
+  , (RPL_MONOFFLINE            , ReplyCodeInfo CommandReply "mon-offline")
+  , (RPL_MONLIST               , ReplyCodeInfo CommandReply "mon-list")
+  , (RPL_ENDOFMONLIST          , ReplyCodeInfo CommandReply "end-of-mon-list")
+  , (ERR_MONLISTFULL           , ReplyCodeInfo ErrorReply "mon-list-full")
+  , (RPL_RSACHALLENGE2         , ReplyCodeInfo CommandReply "rsa-challenge2")
+  , (RPL_ENDOFRSACHALLENGE2    , ReplyCodeInfo CommandReply "end-of-rsa-challenge2")
+  , (ERR_MLOCKRESTRICTED       , ReplyCodeInfo ErrorReply "mlock-restricted")
+  , (RPL_SCANMATCHED           , ReplyCodeInfo CommandReply "scan-matched")
+  , (RPL_SCANUMODES            , ReplyCodeInfo CommandReply "scan-umodes")
+  , (RPL_XINFO                 , ReplyCodeInfo CommandReply "xinfo")
+  , (RPL_XINFOSTART            , ReplyCodeInfo CommandReply "xinfo-start")
+  , (RPL_XINFOEND              , ReplyCodeInfo CommandReply "xinfo-end")
+  , (RPL_LOGGEDIN              , ReplyCodeInfo CommandReply "logged-in")
+  , (RPL_LOGGEDOUT             , ReplyCodeInfo CommandReply "logged-out")
+  , (RPL_NICKLOCKED            , ReplyCodeInfo CommandReply "nick-locked")
+  , (RPL_SASLSUCCESS           , ReplyCodeInfo CommandReply "sasl-success")
+  , (RPL_SASLFAIL              , ReplyCodeInfo CommandReply "sasl-fail")
+  , (RPL_SASLTOOLONG           , ReplyCodeInfo CommandReply "sasl-toolong")
+  , (RPL_SASLABORTED           , ReplyCodeInfo CommandReply "sasl-aborted")
+  , (RPL_SASLALREADY           , ReplyCodeInfo CommandReply "sasl-already")
+  , (RPL_SASLMECHS             , ReplyCodeInfo CommandReply "sasl-mechs")
+  , (ERR_CANNOTDOCOMMAND       , ReplyCodeInfo ErrorReply "cannot-do-command")
+  , (ERR_CANNOTCHANGEUMODE     , ReplyCodeInfo ErrorReply "cannot-change-umode")
+  , (ERR_CANNOTCHANGECHANMODE  , ReplyCodeInfo ErrorReply "cannot-change-chan-mode")
+  , (ERR_CANNOTCHANGESERVERMODE, ReplyCodeInfo ErrorReply "cannot-change-server-mode")
+  , (ERR_CANNOTSENDTONICK      , ReplyCodeInfo ErrorReply "cannot-send-to-nick")
+  , (ERR_UNKNOWNSERVERMODE     , ReplyCodeInfo ErrorReply "unknown-server-mode")
+  , (ERR_SERVERMODELOCK        , ReplyCodeInfo ErrorReply "server-mode-lock")
+  , (ERR_BADCHARENCODING       , ReplyCodeInfo ErrorReply "bad-char-encoding")
+  , (ERR_TOOMANYLANGUAGES      , ReplyCodeInfo ErrorReply "too-many-languages")
+  , (ERR_NOLANGUAGE            , ReplyCodeInfo ErrorReply "no-language")
+  , (ERR_TEXTTOOSHORT          , ReplyCodeInfo ErrorReply "text-too-short")
+  , (ERR_NUMERIC_ERR           , ReplyCodeInfo ErrorReply "numeric-err")
   ]
