I personally find `warn_when_warning...` to form a very awkward method name.  Any reason not to just replace the calls to this with a `warn(method_name) if warn_about_expectations?` expression?  I think that reads better and is less code to boot :).