public void DeclareHigherOrderArguments(PredicateIndicator p, int[] arguments)
{
foreach (var i in arguments)
if (i>=p.Arity)
throw new ArgumentException("Argument index larger than arity of predicate: "+i);
else if (i < 0)
throw new ArgumentException("Argument index cannot be less than zero: " + i);
EntryForStoring(p).HigherOrderArguments = arguments;
}