public FOLNode copy() { List<Term> copyTerms = new List<Term>(); foreach (Term t in terms) { copyTerms.Add((Term)t.copy()); } return new Function(functionName, copyTerms); }