Marksets on an edge's label are not maintainable. At all. This seems bad to me, as the label's value is maintainable, using a variable. Should there be a convenient way to reference a markset? This seems like a lot of additional complexity (is a markset its own type? is it an array of marks, which are their own type?).
Perhaps marksets should be gotten rid of. Is a single label value enough? Another type (colour or style or something) could be added.
Maybe it needs to be a list of values. But then the same problem arises, there's no way to keep the rest-of-the-list of an edge's label. Only whichever variable you've matched on.
What's the use case for multiple values?
I think I can see a use-case for having both a value, and some styling/debugging information, or some marker of a 'head' node or edge. And maybe the current markset is fine for that goal.
Marksets on an edge's label are not maintainable. At all. This seems bad to me, as the label's value is maintainable, using a variable. Should there be a convenient way to reference a markset? This seems like a lot of additional complexity (is a markset its own type? is it an array of marks, which are their own type?).
Perhaps marksets should be gotten rid of. Is a single label value enough? Another type (
colourorstyleor something) could be added.Maybe it needs to be a list of values. But then the same problem arises, there's no way to keep the rest-of-the-list of an edge's label. Only whichever variable you've matched on.
What's the use case for multiple values?
I think I can see a use-case for having both a value, and some styling/debugging information, or some marker of a 'head' node or edge. And maybe the current markset is fine for that goal.