@myronmarston stole this from:
https://github.com/rspec/rspec-expectations/blob/master/spec/rspec/matchers/composable_spec.rb#L15-L85