Well done.

At the time, the Netrek developers could not afford the bandwidth to
include a length, and that's why the length is taken from a table held
by both parties to the protocol.

Arguably, this is a strength in efficiency, at the expense of
requiring versioning.  A version is included, but was not often used.