src/basilisp/lang/runtime.py
def apply_kw(f, args):
    """Apply function f to the arguments provided.
    The last argument must always be coercible to a Mapping. Intermediate
    arguments are not modified.
    For example:
        (apply builtins/dict {:a 1} {:b 2})   ;=> #py {:a 1 :b 2}
        (apply builtins/dict {:a 1} {:a 2})   ;=> #py {:a 2}"""
    final = list(args[:-1])

    try:
        last = args[-1]
    except TypeError as e:
        logger.debug("Ignored %s: %s", type(e).__name__, e)

    kwargs = to_py(last, lambda kw: munge(kw.name, allow_builtins=True))
    return f(*final, **kwargs)
def apply_kw(f, args):
    """Apply function f to the arguments provided.
    The last argument must always be coercible to a Mapping. Intermediate
    arguments are not modified.
    For example:
        (apply builtins/dict {:a 1} {:b 2})   ;=> #py {:a 1 :b 2}
        (apply builtins/dict {:a 1} {:a 2})   ;=> #py {:a 2}"""
    final = list(args[:-1])

    try:
        last = args[-1]
    except TypeError as e:
        logger.debug("Ignored %s: %s", type(e).__name__, e)

    kwargs = to_py(last, lambda kw: munge(kw.name, allow_builtins=True))
    return f(*final, **kwargs)
Apply function f to the arguments provided.
    The last argument must always be coercible to a Mapping. Intermediate
    arguments are not modified.
    For example:
        (apply builtins/dict {:a 1} {:b 2})   ;=> #py {:a 1 :b 2}
        (apply builtins/dict {:a 1} {:a 2})   ;=> #py {:a 2}