Upon reconsideration, attaching boolean modifiers is a very bad idea. Instead, modification is done by constraints - for instance, InvertModifier is a constraint which contains the constraint to be inverted. Could use this to do similar things for or() and the like.