(type, value) pairs makes sense? How to we represent them such that Jackson can automagically encode them correctly when "type erasure" is happening on Object references? In my case here, I'll still end up with a (AvaticaParameter<VARBINARY>,
) instead of (AvaticaParameter<VARBINARY>, ByteString). Strongly typed container classes (or an enum) would do the trick, but that leads us into "all possible combinations of" territory. Maybe an AvaticaParameterValue class that's effectively a union of typed fields, only one of which has a value.