In a case like this:

```
auto pow = [](int i) {return i * i; };
auto closure = ranges::views::transform(pow);

```

`closure` seems to be a `view_closure`. I do get that last line does not make much sense, since transform is not applied anywhere. *Actually, I could may as well pipe a vector `x` into `closure` and it would both compile and work properly*.

But, what **is** a view closure? Is it a "function like" object that expects to be applied somewhere? What are its semantics?

I found [this](https://github.com/ericniebler/range-v3/blob/1120609c7cb5dee9d2d216c579e935475cc39c4e/include/range/v3/view/view.hpp#L168-L178) from Eric Niebler's `range-v3` source code but there aren't any docs specifying it elsewhere.

I don't even get whether `view_closure` is intended for internal usage or for the users' end.