Wouldn't that fixed set of simple type be easy to expand though? Like adding a type to the variant would not break any existing code
Often not but the maintainers of the library and the people who need to add the type aren't always the same people