The way `verbose` works is that, as a function decorator, if `verbose is not None`, then it changes `logger.level`, executes, the function, then sets it back after the function completes. Thus any sub-functions will effectively inherit the `verbose` level of their parent. You'll notice in a few places I use `verbose=False` in the forward-making methods, which is because I don't want those subfunctions to ever print. This is designed to make the output of mne-python more closely match that of `mne_do_forward_solution`.