pub fn visit_shapes<V: ShapeVisitor>(visitor: &mut V)
Maps a shape visitor across all shape definitions