-
--- | A typeclass for types which can be converted into an associated
--- XML type. The story behind this is long, but basically, we need
--- to different types for each XML thingie we're going to import: a
--- database type and an XML type. Both Groundhog and HXT are very
--- particular about the types that they can use, and there's no way
--- to reuse e.g. a type that HXT can pickle in Groundhog. So this
--- typeclass gives us a way to get the XML type from the Groundhog
--- type.
+-- | Common associated type shared by 'FromXml' and 'FromXmlFk'. This
+-- basically just forces the client to define the \"database
+-- version\" of his type.
+--
+class ToDb a where
+ -- | Each instance @a@ must declare its associated database type @Db a@.
+ type Db a :: *
+
+-- | A typeclass for XML types that can be converted into an
+-- associated database type. The story behind this is long, but
+-- basically, we need to different types most XML thingies we're
+-- going to import: a database type and an XML type.