public bool IsValidTarget(IEnumerable<string> targetTypes) { return ValidTargets.Overlaps(targetTypes) && !InvalidTargets.Overlaps(targetTypes); }