"""Object exercises"""


def exclude():
    """Only keep items which fail a given predicate test"""


def call():
    """Call the function provided with the given arguments."""


def call_later():
    """Return a function to call given function with provided arguments."""


def call_again():
    """Return function return value and a function to call again."""


def only_once():
    """Return new version of the function that can only be called once."""


def cache():
    """Return a cache-ing version of the given function."""


def partial():
    """Partially evaluate the given function with the given arguments."""
