-- | 'IrcConnection' value with everything unspecified
defaultIrcConnection :: IrcConnection
defaultIrcConnection = IrcConnection
  { _connNick      = mkId ""
  , _connChannels  = mempty
  , _connId        = Nothing
  , _connChanTypes = "#&" -- default per RFC
  , _connStatusMsg = ""
  , _connKnock     = False
  , _connNickLen   = 9
  , _connExcepts   = Nothing
  , _connInvex     = Nothing
  , _connUsers     = mempty
  , _connModes     = 3
  , _connTopicLen  = 400 -- default is unbounded but message length is bounded
  , _connChanModeTypes = defaultChanModeTypes
  , _connUserModeTypes = defaultUmodeTypes
  , _connMyInfo    = Nothing
  , _connSasl      = Nothing
  , _connUmode     = ""
  , _connSnoMask   = ""
  , _connPhase     = RegistrationPhase
  , _connPingTime  = NoPing
  }
defaultIrcConnection :: IrcConnection
defaultIrcConnection = IrcConnection
  { _connNick      = mkId ""
  , _connChannels  = mempty
  , _connId        = Nothing
  , _connChanTypes = "#&" -- default per RFC
  , _connStatusMsg = ""
  , _connKnock     = False
  , _connNickLen   = 9
  , _connExcepts   = Nothing
  , _connInvex     = Nothing
  , _connUsers     = mempty
  , _connModes     = 3
  , _connTopicLen  = 400 -- default is unbounded but message length is bounded
  , _connChanModeTypes = defaultChanModeTypes
  , _connUserModeTypes = defaultUmodeTypes
  , _connMyInfo    = Nothing
  , _connSasl      = Nothing
  , _connUmode     = ""
  , _connSnoMask   = ""
  , _connPhase     = RegistrationPhase
  , _connPingTime  = NoPing
  }
defaultIrcConnection = IrcConnection
  { _connNick      = mkId ""
  , _connChannels  = mempty
  , _connId        = Nothing
  , _connChanTypes = "#&" -- default per RFC
  , _connStatusMsg = ""
  , _connKnock     = False
  , _connNickLen   = 9
  , _connExcepts   = Nothing
  , _connInvex     = Nothing
  , _connUsers     = mempty
  , _connModes     = 3
  , _connTopicLen  = 400 -- default is unbounded but message length is bounded
  , _connChanModeTypes = defaultChanModeTypes
  , _connUserModeTypes = defaultUmodeTypes
  , _connMyInfo    = Nothing
  , _connSasl      = Nothing
  , _connUmode     = ""
  , _connSnoMask   = ""
  , _connPhase     = RegistrationPhase
  , _connPingTime  = NoPing
  }