Okay so I just gave up on the inhibitWhen and used
(p.attr4 === -1 and l.needToCheckAttr4 === true)
and...
((p.attr4 <> -1 and l.needToCheckAttr4 === true) or (l.needToCheckAttr4 === false))
which I probably should have done in the first place.