Completed RangeApplier thanks to @Dries007