First one checks if assembly is secured (not really needed there's no functional difference between nonsecured and normal one) Second if checks if any assembly part is igniter, third one makes sure it's not infrared assembly and the fourth does the same with mousetrap assemblies. Somehow there is no helper proc for mousetrap type check.