Dry::Transaction exhaustive matcher for steps

Maybe I’m taking crazy pills, but I thought dry-transaction used to detect Non-Exhaustive matches if you failed to include a matcher for a particular step.

class MyTransaction
  include Dry::Transaction

  step :one

  def one
    Failure("error")
  end
end

This raises like I’d expect:

MyTransaction.new.call do |on|
  on.success { |v| p "Success: #{v}" }
end

…/dry-matcher-0.10.0/lib/dry/matcher/evaluator.rb:64:in `ensure_exhaustive_match’: cases +failure+ not handled (Dry::Matcher::NonExhaustiveMatchError)

I was expecting the same from this, but it’s perfectly happy:

MyTransaction.new.call do |on|
  on.success { |v| p "Success: #{v}" }
  on.failure(:two) { |err| p "Failure Two: #{err}" }
end

Is this a regression, or am I mis-remembering that this behavior ever existed?