No, X[..<datapos+len] is X[..sizeof(X)-(datapos+len+1)].
Ok, what was the syntax we invented for exclusive ranges then? The
problem with X[..datapos+len-1] is that you get the wrong result when
datapos == len == 0.
No you don't. sizeof(X[..-1]) == 0.