Switched to Either from GHC Prelude.
Moved Smten.Data.Enum to Smten.GHC.Enum.

In preparation for switching to GHC Prelude's definition of Enum.
Moved EnumInt and EnumInteger into Smten.GHC.Enum.
Switch to Enum from GHC Prelude.
Switch to GHC's Data.Functor.
Use smallInteger instead of int_toInteger.
Minor cleanup of Smten.GHC.Integer.Type.
Started moving list functions to Smten.GHC.List.
Filled out the rest of the functions in Smten.GHC.List.
Switch to GHC's version of Control.Monad.
Switch to GHC's version of Data.List.

But only some of the functions are defined.
Switch to GHC's version of FilePath.
Use GHC's putChar.
Switch to getContents from GHC.
Export putStr and putStrLn from GHC in Smten.Prelude.
Move code for Smten.System.IO to Smten.System.IO_.

To be consistent with practice of using Foo_ for defining code already in GHC
Prelude, and avoid ambiguities when both Smten.Prelude and Smten.System.IO
are imported.
Switched to GHC's version of Integral.
Moved Smten.Data.Integral to Smten.GHC.Real.
Changed Bits wrapper to not rely on concatenation to make new ids.

I think it's still broken though.
Use FreeID instead of Strings for the solver interface.

I'm not sure if it's really any better, but it seems like a good thing to do?