Major refactoring and additions.  Use a monad transformer for diagnostics, instead of the (Either Diagnostic a) thing.  Use a monad transformer for processing state, which didn't work at all before.  Use NoImplicitPrelude everywhere, with Eyshadow.Prelude as a module exporting a much-reduced set of stuff instead.  Factor most of the interesting modules into Eyeshadow.Data.* and Eyeshadow.Phase.*.  Still to do are more instances to make it actually compile.