Unit.Items.IsHolding also checks whether the items blocks the hands (big items are attached to shoulders, chest points etc, but were not considered "held")
DropUndesiredItem works properly
Added IsTool condition
Desires.IsDesiredItem type param is nullable