C++17 introduced parallel algorithms, but the current interface prevents heterogeneous systems – such as personal computers and server nodes with GPUs, smartphones, and embedded System on a Chip – from taking advantage of parallel computation. Through its clean, algorithmic composition, we believe that the Ranges TS and its proposed extensions offer solutions to these problems, and how well programs perform on heterogeneous platforms. We will discuss why adopting Ranges will be beneficial for your programs, and once parallelised, how they naturally lend themselves to parallelising your code with minimal changes on your part.