Maybe a bit of an API nicety, if you call this without any arguments, we just return `@length`?