Massive simpl of ASlot interface

Sure it feels like an existentially type part of the system, but really
we're *completely* forgetting about the default values when we analyze
the system, replacing them by their String-show representations, so
instead we'll just call

    type ASlot = Slot X

where X is just unit but with a hidden constructor---it's impossible for someone to do anything besides pass X around, we've certainly forgotten about the default value.

    aSlot :: Slot a -> ASlot
    aSlot = fmap (const X)