protected boolean canEnter(Tile t) {
    if (t == init || t == destination) return true ;
    return t.habitat().pathClear && (
      t.owner() == null ||
      t.owner().owningType() < priority
    ) ;
  }