func (self *move) adjudicateRetreatPhase(r dip.Resolver) error { for prov, order := range r.Orders() { if prov.Super() != self.targets[0].Super() && order.Type() == cla.Move && order.Targets()[1].Super() == self.targets[1].Super() { return cla.ErrBounce{order.Targets()[0]} } } return nil }