Honestly I'm thinking or loosening the rule since its mostly unnecessary, It's fine to use attributes that don't change runtime behavior. I'd personally not use typeof but I made it not a strict requirement.