Yeah, I understand A12 now. Explicitly stating that the Match element
means that the match function and match arguments should be rewritten
as (any-of match-function primitive bag<primitive>) would help clarify
this section.
I seem to be failing to persaude you that the similarity of the MatchId
and FunctionId attributes, but with subtlely different semantics, is going
to confuse people, so I'll give up for now and wait to see if anyone else
trips over the same problem.
BTW: I was curious to find Haskell expressions in the spec. I haven't
seen it in the wild since ~1990... from Edinburgh isn't it? Out of curiosity
was OCL (the Object Constraint Language) considered for writing the
formal notation?
John