fn movements( i: &Intersection, ) -> (Vec<MovementID>, Vec<MovementID>, Vec<MovementID>, BTreeSet<RoadID>)