pub fn parse_intersection(spec: &str) -> Result<Intersection, String>Expand description
Parse a focused English spec into an Intersection.
Recognised:
Movements: a, b, c.— an optional explicit movement set (so isolated movements appear).<A> conflicts with <B>, <C> and <D>.—Amay not share a phase with any ofB,C,D.
Movement names are everything else (articles the/a/an are dropped). Names are matched
case-insensitively; the first spelling seen is the display name.