The case of sort and select are fixed here: https://github.com/JuliaLang/julia/pull/16168
(If you pass them keyword arguments, then they pretty much have to return a full array, rather than try to be clever and return another range, for type-stability. e.g. sort(-5:5, by=abs) can't be expressed in terms of a range.)
