8a4d114934
Turns out mt.isinf is happy to accept non-primitive floats (such as CsvFloat) as long as __float__ is defined. But CsvInt expects a float inf, not a CsvFloat, so things explode later. Fixed by explicitly casting to float if mt.isinf, instead of passing as-is. Also tweaked CsvInt/CsvFloat constructors to not bother checking isinstance, unconditional int/float casts are probably cheaper than the condition in Python.