See the comment above: this is possible, but means having way more builder classes. I think the current implementation is worth the trade-off