Well, I'm not sure that's actually abusing it; Stdio.Buffer is a sort of compromise for getting some of the benefits of a native buffer type while not getting all of the problems (it does not affect compatibility as it uses a separate set of APIs, and while that does lead to inconsistency it's not too bad when a class does it). So in cases where a native buffer type would have helped you, I think using Stdio.Buffer as a substitute (provided it actually is able to help you in the same way) is valid.