docs: def validate_dict(in_dict, **kwargs):
      """ Returns Boolean of whether given dict conforms to type specifications
      given in kwargs. """
  
      if not isinstance(in_dict, dict):
          raise ValueError('requires a dictionary')
  
      for key, value in kwargs.iteritems():
  
          if key == 'required':
              for required_key in value:
                  if required_key not in in_dict:
                      return False
  
          elif key not in in_dict:
              continue
  
          elif value == bool:
  
              in_dict[key] = (True
                              if str(in_dict[key]).lower() == 'true'
                              else False)
  
          else:
  
              if (isinstance(in_dict[key], list) and
                  len(in_dict[key]) == 1 and
                  value != list):
                  in_dict[key] = in_dict[key][0]
  
              try:
                  if key in in_dict:
                      in_dict[key] = value(in_dict[key])
              except ValueError:
                  return False
  
      return True