Intersections

Unified casts into a single constructor. The actual up/down/dead happens inside Annots.