Yeah, I think drop `SerialEndian {Word,Int}`, keep `Serial {Word,Int}`.  `Serial`'s kind of "we'll try, but if you break it you buy it", whereas `SerialEndian` sounds like it offers (and requires) stronger guarantees.