This makes more sense, because bytes are immutable and callers have no business
mutating structures from the wire anyway.
Incidentally this should fix issue #236, where rlp library would treat
bytes and bytearrays differently and produce invalid structures in our usecase.
Also very minor nitpicks and code cleanup for neater typing.