Hm, probably the builder shouldn't implement match, but rather have the same methods. It's not a good idea to be able to use the builder in place of a match (because it's mutable).