public Value eval(DocumentSet docs, NodeSet context, NodeProxy node) {
public Value eval(StaticContext context, DocumentSet docs, NodeSet contextSet, NodeProxy contextNode) {
  public Value eval(DocumentSet docs, NodeSet context, NodeProxy node) {    if(binding == null)      throw new IllegalArgumentException("variable " + name + " unbound");    return binding.eval(docs, context, node);  }