Why is there an extra zero byte prepended to a hexadecimal number in the output?

This question was asked at chia_network.public on Keybase.

Based on the way numbers are encoded in CLVM, the first bit represents the sign. So if the first bit of the first byte is a 1, the number will be considered negative. To represent the same number as positive, you would have to prepend a zero byte so that the first bit is 0.