How can the module for a term be identified?

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