public Symbol FabricWithScope(ImmutableList <Symbol> newTail) { TailHolderSymbol s = Fabric(newTail); s.Scope = Scope; return(s); }
protected bool TailEquals(TailHolderSymbol other) { if (other.Tail.Count != Tail.Count) { return(false); } return(!Tail.Where((t, i) => !t.Equals(other.Tail[i])).Any()); }