Full documents inside node attributes?

I agree, it’d be ideal to represent stuff as child nodes some how. Perhaps I could make myself a node type that represents a rich attribute and doesn’t have a DOM representation and build some commands to update it instead of attrs.

That leads me to ask what might go wrong if I model links (and other things usually represented as marks) as inline nodes? I think I read somewhere that marks exist because they make the code for working with these spans across nodes much easier, but is there stuff that you can’t represent using the tree of nodes that you can with marks? Will I get backed into a corner where my links will be less useful?