Again, can be inlined into the caller, and then the length logic makes more sense IMO