def _column_type(strings, has_invisible=True):
types = [_type(s, has_invisible) for s in strings]<EOL>return reduce(_more_generic, types, int)<EOL>
The least generic type all column values are convertible to.

>>> _column_type(["1", "2"]) is _int_type
True
>>> _column_type(["1", "2.3"]) is _float_type
True
>>> _column_type(["1", "2.3", "four"]) is _text_type
True
>>> _column_type(["four", '\u043f\u044f\u0442\u044c']) is _text_type
True
>>> _column_type([None, "brux"]) is _text_type
True
>>> _column_type([1, 2, None]) is _int_type
True