a roundtrip of an improper list doesn't work.
if we pack an improper list [foo | bar] unpack it and then pack it again we end up with {[foo], bar} which is not how it should be. Even if we aren't there yet with unicode, binary vs strings/lists we should always strive for a consistent roundtrip.
This is most likley what's breaking pyrlang communication with otp24 Pyrlang/Pyrlang#80