We try to minimise adding public api, I'd rather this was inlined.