It is a classical committee product, solving non-existent production tasks. Years long discussion of how to encode maps canonically, because they decided that keys can be nearly any data type. And still giving non-satisfying proposal, leading to dCBOR creation. Canonical and streaming modes of operation are mutually exclusive. There are no sane real life reasons why it could not be possible. Hardly you will find of CBOR libraries supporting strict validation of canonically/deterministically encoded CBOR structures. Tagged string/integer can not be considered as a viable first-class bigint/datetime data support, because many decoders do not support tagged values further processing.