preliminary range adaptor
implement indirect_range_view with range_adaptor. *MUCH* better