docs: def validate_types(schemas_and_tables):
      '''normalize a list of desired annotation types
      if passed None returns all types, otherwise checks that types exist
      Parameters
      ----------
      types: list[str] or None
  
      Returns
      -------
      list[str]
          list of types
  
      Raises
      ------
      UnknownAnnotationTypeException
          If types contains an invalid type
      '''
  
      all_types = get_types()
      if not (all(sn in all_types for sn, tn in schemas_and_tables)):
          bad_types = [sn for sn,
                       tn in schemas_and_tables if sn not in all_types]
          msg = '{} are invalid types'.format(bad_types)
          raise UnknownAnnotationTypeException(msg)