title: What does it usually mean when a Haskell record accessor leads with an underscore?
body: <p>An example from the HaskellNet library:</p>
  
  <pre><code>data MailboxInfo = MboxInfo { _mailbox :: MailboxName
                              , _exists :: Integer
                              , _recent :: Integer
                              , _flags :: [Flag]
                              , _permanentFlags :: [Flag]
                              , _isWritable :: Bool
                              , _isFlagWritable :: Bool
                              , _uidNext :: UID
                              , _uidValidity :: UID
                              }
                   deriving (Show, Eq)
  </code></pre>
  
  <p>Does the underscore in the field names mean something, if not to the compiler then at least according to Haskell convention?</p>