nonvar(Body),
expand_body(Body, ModBody, 0, N).
-expand_body((Term, Terms), (ModTerm, ModTerms), N0, N) :-
- !, expand_body_term(Term, ModTerm, N0, N1),
+expand_body(Term0, (ModTerm, ModTerms), N0, N) :-
+ nonvar(Term0), Term0 = (Term, Terms), !,
+ expand_body_term(Term, ModTerm, N0, N1),
expand_body(Terms, ModTerms, N1, N).
-expand_body(Term, ModTerm, N0, N) :-
- expand_body_term(Term, ModTerm, N0, N).
+expand_body(Term0, ModTerm, N0, N) :-
+ nonvar(Term0), expand_body_term(Term0, ModTerm, N0, N).
expand_body_term([], true, N, N) :- !.
expand_body_term([Arg|Args], ModTerm, N0, N) :-