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

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