it "should rewrite only the first matching expressions" do
        expression = builder.add(builder.succ(0), builder.succ(0))
        reduced = builder.add(builder.literal!(1), builder.succ(0))

        expect(subject.apply(expression)).to eq(reduced)