public ATermAppl makeAppl(AFun fun, ATerm[] args, ATermList annos) { synchronized (protoAppl) { protoAppl.initHashCode(annos, fun, args); return (ATermAppl) build(protoAppl); }
public ATermAppl makeAppl(AFun fun, ATerm[] args) { return makeAppl(fun, args, empty);
  public ATermAppl makeAppl(AFun fun, ATerm[] args, ATermList annos) {    synchronized (protoAppl) {      protoAppl.initHashCode(annos, fun, args);      return (ATermAppl) build(protoAppl);    }  }