def map_many(mapper):
    """Apply the `mapper` to each item in a series of results rather than the result as a whole.

    Examples:
        >>> def noop(data):
        ...     return data + 1

        >>> mapper = map_many(noop)
        >>> mapper([4, 6, 1, 0])
        [5, 7, 2, 1]
    """

    def decorator(response):
        result = []

        # Return immediately in the case where the response is not iterable.
        if not response:
            return result

        for item in response:
            mapped = mapper(item)
            result.append(mapped)
        return result

    return decorator