Drop old spec types.
Mix in some functors. Use GADTs for the IndexedRef.