fn parse_trains( direction: Direction, fields: &[Structure<'_>], unnamed_train_counter: &mut usize, ) -> Result<Vec<Train>, String>