The current IPLD code gen creates recursive types (`TrieNode`) that won't compile. This is also an issue for go-codec-dagcosmos (`MerkleTreeNode`,`IAVLNode`, and `SMTNode` are all recursive types).