<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:

def poll_for_exceptionless_callable(callable, attempts, interval):
    '''Poll with a given callable for a specified number of times.

    :param callable: callable to invoke in loop -- if no exception is raised
                    the call is considered succeeded
    :param attempts: number of iterations to attempt
    :param interval: seconds to wait before next attempt
    '''

    @wraps(callable)
    def poll(*args, **kwargs):
        for attempt in range(attempts):
            try:
                return callable(*args, **kwargs)
            except Exception as ex:
                if attempt == attempts-1:
                    raise MaximumAttemptsReached(ex)
                time.sleep(interval)
                continue
    return poll