public override object deref() { TBox b = getThreadBinding(); if (b != null) return b.Val; return _root; //if (hasRoot()) // return _root; //throw new InvalidOperationException(String.Format("Var {0}/{1} is unbound.", _ns,_sym)); }