inline provides external linkage instead of internal linkage which is more desirable here. We can enclose it within an anonymous namespace to make it internally linked.