:variant
This required a bit of a rework of how the options are validated. Now they're only validated once when `Builder.build` is called instead of inside each builder.