To be fully capable of passing references around, we need Element, BlockElement, InlineElement, InlineBlockElement, Comment, maybe DecoratedText and DecoratedTextContent, maybe Link, and any other enums that traditionally are taking some other data to instead take a Cow<'a, DATA> so we can dynamically wrap references rather than cloning.
This is helpful when producing children where the return type could be one of many elements, etc.
To be fully capable of passing references around, we need
Element
,BlockElement
,InlineElement
,InlineBlockElement
,Comment
, maybeDecoratedText
andDecoratedTextContent
, maybeLink
, and any other enums that traditionally are taking some other data to instead take aCow<'a, DATA>
so we can dynamically wrap references rather than cloning.This is helpful when producing children where the return type could be one of many elements, etc.