fn hasModifier obj mclass =
(
if classof obj == array or classof obj == objectset then
(
local count = 0
for o in obj while hasModifier o mclass do count += 1
return count > 0 and count == obj.count
)
else if classof mclass == array then
(
local count = 0
for m in mclass while hasModifier obj m do count += 1
return count > 0 and count == mclass.count
)
else
(
local has = false
for m in obj.modifiers while not has do has = classof m == mclass
return has
)
)