Fix hash and use tuples for Scope.Node