goal.announcement.position = DataPosition::new(&goal.announcement.position.indices()[len..]);
let shortened = DataPosition::new(&goal.obligations.get(mo_index).unwrap().position.indices()[len..]);
// Moreover, all positions in the partition are related to p. p is the highest in the partition.
while p_index < all_positions.len() && MatchGoal::pos_comparable(p, &all_positions[p_index]) {