BIS_fnc_compatibleItems will return suppressors with lowercase end letter such as muzzle_snds_b
BIS_fnc_compatibleItems = muzzle_snds_b
Now if you do something like primaryWeaponItems player you get muzzle_snds_B with a capital B.
So when you do case sensitive searches, such as using the find command on the BIS_fnc_compatibleItems array it will return false due to the letter being lowercase.
optic_Hamr is the same issue. Probably some others....