+import qualified TSN.XML.Odds as Odds ( Message )
+import Xml ( DtdName(..), parse_opts )
+
+
+-- | This is where most of the work happens. This function is called
+-- on every file that we would like to import. It determines which
+-- importer to use based on the DTD, processes the file, and then
+-- returns whether or not any records were imported. If the file was
+-- processed, the number of records imported is returned (wrapped in
+-- a Just). Otherwise, if the file was not processed, 'Nothing' is
+-- returned.
+--
+-- Since we are already in arrow world with HXT, the
+-- 'import_with_dtd' function is lifted to an 'Arrow' as well with
+-- 'arr'. This prevents us from having to do a bunch of unwrapping
+-- and rewrapping with the associated error checking.
+--
+import_file :: Configuration -- ^ A configuration object needed for the
+ -- 'backend' and 'connection_string'.
+
+ -> FilePath -- ^ The path of the XML file to import.
+
+ -> IO Bool -- ^ True if we processed the file, False otherwise.