Column type sniffing can be broken out from the SQL statement generation just to simplify methods and keep things clean