:- module(uwnutil, [ (+)/3, (+\)/3, op(201,xfx,+\) ]). :- meta_predicate +(?,2,?). +(GV, Goal, V1) :- call(Goal, V1, GV). :- meta_predicate +\(?,1,?). +\(GV, FC, V1) :- copy_term_nat(GV+FC,GV+C), call(C, V1).