> Is this struct really necessary? Couldn't it basically just have been an alias?

Technically, no, it's not needed. But arguably, it leaves a hole in the type system. Also, the "end type" would be `RefCounted!ByLineCopyImpl`, which could confuse users, who might think the return type was actually a `ByLineCopyImpl`, and *something else* ref counted it. By creating a wrapper `ByLineCopy`, we can keep things tidy in terms of type and interface.