Re-work the newtype-deriving support
The newtype deriving mechanism is much trickier to support than it seems at first. Kevin didn't get it quite right when moving to FC, and I ended up re-writing quite a bit of it. I think it's right now, but I have not yet tested it thoroughly.
Showing with 186 additions and 171 deletions