because micro-optimisations are apparently important