def eref(obj, key, is_assoc=None):
    """
    Returns element reference
    :param obj:
    :param key:
    :param is_assoc:
    :return:
    """
    if obj is None:
        return None
    if isinstance(key, int) or (is_assoc is not None and is_assoc):
        return ElemRefArr, get_elem(obj), key
    else:
        return ElemRefObj, get_elem(obj), key
Returns element reference
    :param obj:
    :param key:
    :param is_assoc:
    :return: