This isn't a full blown issue really, but it's probably a lack of
understanding on my part.
variant<
typeA,
typeB,
int,
double> v;
gives me conversion ambiguities. I can remove the int and it works
fine. In an attempt to kludge it, I changed the int to a
rational<int>. However, now, "v = 12" is converted to a double, not
to the rational.
First question, would be, how exactly is the variant choosing to use
the double instead of the rational? Does it have anything to do with
order? Would