s/iterable_facade/range_facade, generalize, begin implementing ranges in terms of it.