By always using 'view', the result is never the owner of the buffer, so length cannot be modified in-place without forcing the operation.