Booleans and fundamental types in general should not be passed as reference unless they are meant to be modified. The reason for this is that both ways will likely make use of a registry anyway and in the case of the reference, it will require one more indirection.