This should be implemented at the backend level and just wrapped here. We should be disciplined as to where we introduce functionality. This new package is not to have any code, and just wrap the efficient backend implementations.

This should be moved to the other package before merging.