Бей рабочих если рабочий далеко а враж лучник близко - бей враж лучника если один-два залётных враж лучника - посылаем ближайших к ним на перехват, 2 на одного
И это писать слегка неприятно имхо) но кроме collect (где специально так сделали) редко бывают случаи когда компилер не может вывести тип, даже если ему дали аргументы