+-- | This is our best guess at what occurs in the Odds_XML
+-- documents. It looks like each consecutive set of games can
+-- optionally have some notes appear before it. Each "note" comes as
+-- its own <Notes>...</Notes> element.
+--
+-- The notes are ignored completely in the database; we only bother
+-- with them to ensure that we're (un)pickling correctly.
+--
+-- We can't group the notes with a "set" of 'OddsGame's, because that
+-- leads to ambiguity in parsing. Since we're going to ignore the
+-- notes anyway, we just stick them with an arbitrary game. C'est la
+-- vie.
+--
+data OddsGameWithNotes =
+ OddsGameWithNotes {
+ notes :: [String],
+ game :: OddsGameXml }
+ deriving (Eq, Show)
+
+-- | The XML representation of Odds.
+data Message =
+ Message {