provide a syntax decorating views without nested calls.

    instead of:
    json_api_call(etag(<hash_fn>)(<view_fn>)))

    you can write:
    decorate(json_api_call, etag(<hash_fn>), <view_fn>)

def decorate(*reversed_views):
    """
    provide a syntax decorating views without nested calls.

    instead of:
    json_api_call(etag(<hash_fn>)(<view_fn>)))

    you can write:
    decorate(json_api_call, etag(<hash_fn>), <view_fn>)
    """
    fns = reversed_views[::-1]
    view = fns[0]
    for wrapper in fns[1:]:
        view = wrapper(view)
    return view