def get_dtype_kinds(l):
typs = set()<EOL>for arr in l:<EOL><INDENT>dtype = arr.dtype<EOL>if is_categorical_dtype(dtype):<EOL><INDENT>typ = '<STR_LIT>'<EOL><DEDENT>elif is_sparse(arr):<EOL><INDENT>typ = '<STR_LIT>'<EOL><DEDENT>elif isinstance(arr, ABCRangeIndex):<EOL><INDENT>typ = '<STR_LIT>'<EOL><DEDENT>elif is_datetime64tz_dtype(arr):<EOL><INDENT>typ = str(arr.dtype)<EOL><DEDENT>elif is_datetime64_dtype(dtype):<EOL><INDENT>typ = '<STR_LIT>'<EOL><DEDENT>elif is_timedelta64_dtype(dtype):<EOL><INDENT>typ = '<STR_LIT>'<EOL><DEDENT>elif is_object_dtype(dtype):<EOL><INDENT>typ = '<STR_LIT:object>'<EOL><DEDENT>elif is_bool_dtype(dtype):<EOL><INDENT>typ = '<STR_LIT:bool>'<EOL><DEDENT>elif is_extension_array_dtype(dtype):<EOL><INDENT>typ = str(arr.dtype)<EOL><DEDENT>else:<EOL><INDENT>typ = dtype.kind<EOL><DEDENT>typs.add(typ)<EOL><DEDENT>return typs<EOL>
Parameters
----------
l : list of arrays

Returns
-------
a set of kinds that exist in this list of arrays