+
+-- | The type that will be returned from every file import attempt. If
+-- there was an error, its description will be wrapped in an Err. If
+-- we successfully imported records, the number of records imported
+-- will be wrapped in a Succ.
+--
+-- Anything else will be wrapped in a "Info" constructor;
+-- i.e. somewhere between success and failure. This is like an
+-- 'Either' with three choices. A "Info" return value means that
+-- the XML document *was* processed, so it should be removed.
+--
+data ImportResult =
+ ImportFailed String -- ^ Failure with an error message.
+ | ImportSkipped String -- ^ We processed the file, but didn't import it.
+ -- The reason is contained in the second field.
+ | ImportSucceeded Int -- ^ We did import records, and here's how many.
+ | ImportUnsupported String -- ^ We didn't know how to process this file.
+ -- The second field should contain info.
+