Specializing the Maybe type was a bad idea (at least with the chosen encoding with Nothing == {}, since it is impossible to compare a record and a non-record value, meaning that one cannot use the proposed Maybe_match(m,cJ(_),cN) which started by IF m = {} THEN ....
Furthermore, when wondering if a type was to specialize, I do not know why we considered that the type name could be a bound variable, and in the case of lists (or maybes if it has not been suppressed), it is supposed to be applied to some arguments, so no reason to check if the list of arguments is empty.
Specializing the
Maybe
type was a bad idea (at least with the chosen encoding withNothing == {}
, since it is impossible to compare a record and a non-record value, meaning that one cannot use the proposedMaybe_match(m,cJ(_),cN)
which started byIF m = {} THEN ...
. Furthermore, when wondering if a type was to specialize, I do not know why we considered that the type name could be a bound variable, and in the case of lists (or maybes if it has not been suppressed), it is supposed to be applied to some arguments, so no reason to check if the list of arguments is empty.