docs: def col_dtypes(df): # Does some work to reduce possibility of errors and stuff
      """ Returns dictionary of datatypes in a DataFrame (uses string representation)
      Parameters:
      df - DataFrame
          The DataFrame to return the object types of
      
      Pandas datatypes are as follows:
      object,number,bool,datetime,category,timedelta,datetimetz
      This method uses queues and iterates over the columns in linear time.
      It does extra steps to ensure that no further work with numpy datatypes needs
      to be done.
      """
      test_list = [col_isobj,col_isnum,col_isbool,col_isdt,col_iscat,col_istdelt,col_isdtz]
      deque_list = [(deque(col_method(df)),name) \
                    for col_method,name in zip(test_list,_globals.__dtype_names) if len(col_method(df))]
      type_dict = {}
      for que, name in deque_list:
          while len(que):
              type_dict[que.popleft()] = name
      return type_dict