This could be purely a macro: we would easily inline this and avoid exporting yet another function.