def collapse(types)
      return types.first if types.size == 1
      return nil if types.empty?
      return String if string?(types)
      return Float if float?(types)
      String
    end
def collapse(types)
      return types.first if types.size == 1
      return nil if types.empty?
      return String if string?(types)
      return Float if float?(types)
      String
    end
collapses all types encountered in a file's column into a single type