Deserializes a value of type T from the provided boomerang.
Missing primitive values are read as their default values by the decoder.
For nested objects/lists, the structure created by serialize is expected.