def _table_type(typestr):
    """Return the translation of CRDS fuzzy type name `typestr` into numpy dtype str() prefixes.
    If CRDS has no definition for `typestr`,  return it unchanged.
    """
    int_types = [">i","<i","uint","int"]
    float_types = [">f","<f","float","float"]
    complex_types = [">c","<c","complex","complex"]
    string_types = ["|S"]
    
    def _array_types(types):
        return ["('" + typestr for typestr in types]
    
    trans = {
        'COMPLEX': complex_types,
        'COMPLEX_ARRAY': _array_types(complex_types),
        'INT' : int_types,
        'INTEGER' : int_types,
        'INT_ARRAY' : _array_types(int_types),
        'INTEGER_ARRAY' : _array_types(int_types),
        'FLOAT' : float_types,
        'FLOAT_ARRAY' : _array_types(float_types),
        'STR' : string_types,
        'STRING' : string_types,
        'STR_ARRAY' : _array_types(string_types),
        'STRING_ARRAY' : _array_types(string_types),
    }.get(typestr, typestr)

    return trans