src/basilisp/lang/runtime.py
def deref(o, timeout_s=None, timeout_val=None):
    """Dereference a Deref object and return its contents.

    If o is an object implementing IBlockingDeref and timeout_s and
    timeout_val are supplied, deref will wait at most timeout_s seconds,
    returning timeout_val if timeout_s seconds elapse and o has not
    returned."""
    if isinstance(o, IDeref):
        return o.deref()
    elif isinstance(o, IBlockingDeref):
        return o.deref(timeout_s, timeout_val)
    raise TypeError(f"Object of type {type(o)} cannot be dereferenced")
def deref(o, timeout_s=None, timeout_val=None):
    if isinstance(o, IDeref):
        return o.deref()
    elif isinstance(o, IBlockingDeref):
        return o.deref(timeout_s, timeout_val)
    raise TypeError(f"Object of type {type(o)} cannot be dereferenced")
def deref ( o , timeout_s = None , timeout_val = None ) : if isinstance ( o , IDeref ) : return o . deref ( ) elif isinstance ( o , IBlockingDeref ) : return o . deref ( timeout_s , timeout_val ) raise TypeError ( f"Object of type {type(o)} cannot be dereferenced" )
Dereference a Deref object and return its contents.

    If o is an object implementing IBlockingDeref and timeout_s and
    timeout_val are supplied, deref will wait at most timeout_s seconds,
    returning timeout_val if timeout_s seconds elapse and o has not
    returned.
Dereference a Deref object and return its contents .