As far as I understand, the purpose of IPLD is to largely be codec agnostic, and correspondingly it seems like the derivations being tied to the Codec defeats this property. It is perhaps the case that I am misunderstanding how things are supposed to work but a cursory glance at the examples directory of dag-cbor-derive suggests that it is a proc macro language that is trying to match the schema DSL of IPLD. If that is the case, what is codec specific about these macros?