this would benefit from `become` … (also CPU branch prediction wise)