a18439af11
This drops a lot of code and even though we are using a common function, the specification of only the needed things keeps it very efficient and even more efficient in memory and time than the previous solution.