What the feed itself reads. A dashboard extends it with its own row, whose
type union its renderers narrow on. A row that nests per-item rows passes
itself as Child (type Row = ActivityFeedItem<Row> & { … }), so the
renderers get its own type back for the children too.
What the feed itself reads. A dashboard extends it with its own row, whose
typeunion its renderers narrow on. A row that nests per-item rows passes itself asChild(type Row = ActivityFeedItem<Row> & { … }), so the renderers get its own type back for the children too.