Ever been faced with the challenge of figuring out why your data type isn't being decoded or encoded properly? More than likely, it's due to the language or library you're using, and its opinions on how some data type or another should be encoded.
We've taken care of identifying these discrepencies, and eliminating them from this library - when you encode with symbiotic-data, you can be confident it will be decoded into exactly what was sent.
The serializations for the various data types have been verified with property-based automated testing, catching any discrepencies potentially existing in the implementation.
By randomly generating test cases, the integrity of the implementations can be ensured much more strongly than unit tests. Furthermore, every test verifies the algebraic properties of the data types themselves, maintaining semantic integrity.
Each implementation adheres as closely as possible to the conventions of the language you're using; if at all possible, all operations will be costless. However, if your platform has a wildly different opinion of how "things should be", then we'll compensate where necessary.
Furthermore, if a platform plainly does not support all features in the Symbiotic-Data suite, we'll abstain from adding it; to refrain from including exotic dependencies into your tree. Separate packages will suit those needs.