Ok. In that case though, your code should not use the same M
in receive(M:Clauses, M:Options) :-
as the two arguments can have different qualifications if one or both are qualified explicitly. So, the first M is the default quafifier for calling the guard and body, while the second must be used for meta_options to provide the default qualifier for the option value (which is left untouched if it is already qualified).
1 Like