diff --git a/lib/oga.rb b/lib/oga.rb
index 382561a..0549640 100644
--- a/lib/oga.rb
+++ b/lib/oga.rb
@@ -44,7 +44,6 @@ require_relative 'oga/xml/pull_parser'
 require_relative 'oga/html/parser'
 require_relative 'oga/html/sax_parser'
 
-require_relative 'oga/xpath/node'
 require_relative 'oga/xpath/lexer'
 require_relative 'oga/xpath/parser'
 require_relative 'oga/xpath/evaluator'
diff --git a/lib/oga/xpath/evaluator.rb b/lib/oga/xpath/evaluator.rb
index 2ad4913..0bb36ee 100644
--- a/lib/oga/xpath/evaluator.rb
+++ b/lib/oga/xpath/evaluator.rb
@@ -2,7 +2,7 @@ module Oga
   module XPath
     ##
     # The Evaluator class evaluates XPath expressions, either as a String or an
-    # AST of {Oga::XPath::Node} instances.
+    # AST of {AST::Node} instances.
     #
     # ## Thread Safety
     #
@@ -90,7 +90,7 @@ module Oga
       ##
       # Evaluates a pre-parsed XPath expression.
       #
-      # @param [Oga::XPath::Node] ast
+      # @param [AST::Node] ast
       # @return [Mixed]
       #
       def evaluate_ast(ast)
@@ -104,7 +104,7 @@ module Oga
       # dedicated handler method. Handler methods are called "on_X" where "X" is
       # the node type.
       #
-      # @param [Oga::XPath::Node] ast_node The XPath AST node to process.
+      # @param [AST::Node] ast_node The XPath AST node to process.
       #
       # @param [Oga::XML::NodeSet] context The context (a set of nodes) to
       #  evaluate an expression in.
@@ -120,7 +120,7 @@ module Oga
       ##
       # Processes an absolute XPath expression such as `/foo`.
       #
-      # @param [Oga::XPath::Node] ast_node
+      # @param [AST::Node] ast_node
       # @param [Oga::XML::NodeSet] context
       # @return [Oga::XML::NodeSet]
       #
@@ -142,7 +142,7 @@ module Oga
       # `&&` / `and` operator. Whenever a path results in an empty node set the
       # evaluation is aborted immediately.
       #
-      # @param [Oga::XPath::Node] ast_node
+      # @param [AST::Node] ast_node
       # @param [Oga::XML::NodeSet] context
       # @return [Oga::XML::NodeSet]
       #
@@ -165,7 +165,7 @@ module Oga
       ##
       # Processes a node test and optionally a predicate.
       #
-      # @param [Oga::XPath::Node] ast_node
+      # @param [AST::Node] ast_node
       # @param [Oga::XML::NodeSet] context
       # @return [Oga::XML::NodeSet]
       #
@@ -209,7 +209,7 @@ module Oga
       # similar to {#process} except the handler names are "on_axis_X" with "X"
       # being the axis name.
       #
-      # @param [Oga::XPath::Node] ast_node
+      # @param [AST::Node] ast_node
       # @param [Oga::XML::NodeSet] context
       # @return [Oga::XML::NodeSet]
       #
@@ -228,7 +228,7 @@ module Oga
       # Evaluation happens using a "short-circuit" mechanism. The moment a
       # matching node is found it is returned immediately.
       #
-      # @param [Oga::XPath::Node] ast_node
+      # @param [AST::Node] ast_node
       # @param [Oga::XML::NodeSet] context
       # @return [Oga::XML::NodeSet]
       #
@@ -279,7 +279,7 @@ module Oga
       # (unlike some other methods which return the moment they find a matching
       # node).
       #
-      # @param [Oga::XPath::Node] ast_node
+      # @param [AST::Node] ast_node
       # @param [Oga::XML::NodeSet] context
       # @return [Oga::XML::NodeSet]
       #
@@ -299,7 +299,7 @@ module Oga
       # Evaluates the `child` axis. This axis simply takes all the child nodes
       # of the current context nodes.
       #
-      # @param [Oga::XPath::Node] ast_node
+      # @param [AST::Node] ast_node
       # @param [Oga::XML::NodeSet] context
       # @return [Oga::XML::NodeSet]
       #
@@ -311,7 +311,7 @@ module Oga
       # Evaluates the `descendant` axis. This method processes child nodes until
       # the very end of the tree, no "short-circuiting" mechanism is used.
       #
-      # @param [Oga::XPath::Node] ast_node
+      # @param [AST::Node] ast_node
       # @param [Oga::XML::NodeSet] context
       # @return [Oga::XML::NodeSet]
       #
@@ -334,7 +334,7 @@ module Oga
       ##
       # Evaluates the `descendant-or-self` axis.
       #
-      # @param [Oga::XPath::Node] ast_node
+      # @param [AST::Node] ast_node
       # @param [Oga::XML::NodeSet] context
       # @return [Oga::XML::NodeSet]
       #
@@ -349,7 +349,7 @@ module Oga
       ##
       # Evaluates the `following` axis.
       #
-      # @param [Oga::XPath::Node] ast_node
+      # @param [AST::Node] ast_node
       # @param [Oga::XML::NodeSet] context
       # @return [Oga::XML::NodeSet]
       #
@@ -379,7 +379,7 @@ module Oga
       ##
       # Evaluates the `following-sibling` axis.
       #
-      # @param [Oga::XPath::Node] ast_node
+      # @param [AST::Node] ast_node
       # @param [Oga::XML::NodeSet] context
       # @return [Oga::XML::NodeSet]
       #
@@ -416,7 +416,7 @@ module Oga
       ##
       # Evaluates the `parent` axis.
       #
-      # @param [Oga::XPath::Node] ast_node
+      # @param [AST::Node] ast_node
       # @param [Oga::XML::NodeSet] context
       # @return [Oga::XML::NodeSet]
       #
@@ -437,7 +437,7 @@ module Oga
       ##
       # Evaluates the `preceding` axis.
       #
-      # @param [Oga::XPath::Node] ast_node
+      # @param [AST::Node] ast_node
       # @param [Oga::XML::NodeSet] context
       # @return [Oga::XML::NodeSet]
       #
@@ -463,7 +463,7 @@ module Oga
       ##
       # Evaluates the `preceding-sibling` axis.
       #
-      # @param [Oga::XPath::Node] ast_node
+      # @param [AST::Node] ast_node
       # @param [Oga::XML::NodeSet] context
       # @return [Oga::XML::NodeSet]
       #
@@ -490,7 +490,7 @@ module Oga
       ##
       # Evaluates the `self` axis.
       #
-      # @param [Oga::XPath::Node] ast_node
+      # @param [AST::Node] ast_node
       # @param [Oga::XML::NodeSet] context
       # @return [Oga::XML::NodeSet]
       #
@@ -507,7 +507,7 @@ module Oga
       ##
       # Evaluates the `namespace` axis.
       #
-      # @param [Oga::XPath::Node] ast_node
+      # @param [AST::Node] ast_node
       # @param [Oga::XML::NodeSet] context
       # @return [Oga::XML::NodeSet]
       #
@@ -531,7 +531,7 @@ module Oga
       ##
       # Dispatches node type matching to dedicated handlers.
       #
-      # @param [Oga::XPath::Node] ast_node
+      # @param [AST::Node] ast_node
       # @param [Oga::XML::NodeSet] context
       # @return [Oga::XML::NodeSet]
       #
@@ -546,7 +546,7 @@ module Oga
       ##
       # Processes the `node` type matcher. This matcher matches all node types.
       #
-      # @param [Oga::XPath::Node] ast_node
+      # @param [AST::Node] ast_node
       # @param [Oga::XML::NodeSet] context
       # @return [Oga::XML::NodeSet]
       #
@@ -563,7 +563,7 @@ module Oga
       ##
       # Processes the `text()` type test. This matches only text nodes.
       #
-      # @param [Oga::XPath::Node] ast_node
+      # @param [AST::Node] ast_node
       # @param [Oga::XML::NodeSet] context
       # @return [Oga::XML::NodeSet]
       #
@@ -580,7 +580,7 @@ module Oga
       ##
       # Processes the `comment()` type test. This matches only comment nodes.
       #
-      # @param [Oga::XPath::Node] ast_node
+      # @param [AST::Node] ast_node
       # @param [Oga::XML::NodeSet] context
       # @return [Oga::XML::NodeSet]
       #
@@ -598,7 +598,7 @@ module Oga
       # Processes the `processing-instruction()` type test. This matches only
       # processing-instruction nodes.
       #
-      # @param [Oga::XPath::Node] ast_node
+      # @param [AST::Node] ast_node
       # @param [Oga::XML::NodeSet] context
       # @return [Oga::XML::NodeSet]
       #
@@ -616,7 +616,7 @@ module Oga
       # Processes the pipe (`|`) operator. This operator creates a union of two
       # sets.
       #
-      # @param [Oga::XPath::Node] ast_node
+      # @param [AST::Node] ast_node
       # @param [Oga::XML::NodeSet] context
       # @return [Oga::XML::NodeSet]
       #
@@ -633,7 +633,7 @@ module Oga
       # evaluate to `true`. If the first expression evaluates to `false` the
       # right expression is ignored.
       #
-      # @param [Oga::XPath::Node] ast_node
+      # @param [AST::Node] ast_node
       # @param [Oga::XML::NodeSet] context
       # @return [TrueClass|FalseClass]
       #
@@ -650,7 +650,7 @@ module Oga
       # true, otherwise false is returned. If the first expression evaluates to
       # `true` the second expression is ignored.
       #
-      # @param [Oga::XPath::Node] ast_node
+      # @param [AST::Node] ast_node
       # @param [Oga::XML::NodeSet] context
       # @return [TrueClass|FalseClass]
       #
@@ -666,7 +666,7 @@ module Oga
       # This operator converts the left and right expressions to numbers and
       # adds them together.
       #
-      # @param [Oga::XPath::Node] ast_node
+      # @param [AST::Node] ast_node
       # @param [Oga::XML::NodeSet] context
       # @return [Float]
       #
@@ -682,7 +682,7 @@ module Oga
       # This operator converts the left and right expressions to numbers and
       # divides the left number with the right number.
       #
-      # @param [Oga::XPath::Node] ast_node
+      # @param [AST::Node] ast_node
       # @param [Oga::XML::NodeSet] context
       # @return [Float]
       #
@@ -698,7 +698,7 @@ module Oga
       # This operator converts the left and right expressions to numbers and
       # returns the modulo of the two numbers.
       #
-      # @param [Oga::XPath::Node] ast_node
+      # @param [AST::Node] ast_node
       # @param [Oga::XML::NodeSet] context
       # @return [Float]
       #
@@ -714,7 +714,7 @@ module Oga
       # This operator converts the left and right expressions to numbers and
       # multiplies the left number with the right number.
       #
-      # @param [Oga::XPath::Node] ast_node
+      # @param [AST::Node] ast_node
       # @param [Oga::XML::NodeSet] context
       # @return [Float]
       #
@@ -730,7 +730,7 @@ module Oga
       # This operator converts the left and right expressions to numbers and
       # subtracts the right number of the left number.
       #
-      # @param [Oga::XPath::Node] ast_node
+      # @param [AST::Node] ast_node
       # @param [Oga::XML::NodeSet] context
       # @return [Float]
       #
@@ -749,7 +749,7 @@ module Oga
       # compared instead of the nodes themselves. That is, nodes with different
       # names but the same text are considered to be equal.
       #
-      # @param [Oga::XPath::Node] ast_node
+      # @param [AST::Node] ast_node
       # @param [Oga::XML::NodeSet] context
       # @return [TrueClass|FalseClass]
       #
@@ -863,7 +863,7 @@ module Oga
       # 2. A variable list of XPath function arguments, passed as individual
       #    Ruby method arguments.
       #
-      # @param [Oga::XPath::Node] ast_node
+      # @param [AST::Node] ast_node
       # @param [Oga::XML::NodeSet] context
       # @return [Oga::XML::NodeSet]
       #
@@ -905,7 +905,7 @@ module Oga
       # of nodes in `expression` and returns the result as a float.
       #
       # @param [Oga::XML::NodeSet] context
-      # @param [Oga::XPath::Node] expression
+      # @param [AST::Node] expression
       # @return [Float]
       #
       def on_call_count(context, expression)
@@ -933,7 +933,7 @@ module Oga
       # regardless of the current position.
       #
       # @param [Oga::XML::NodeSet] context
-      # @param [Oga::XPath::Node] expression
+      # @param [AST::Node] expression
       # @return [Oga::XML::NodeSet]
       #
       def on_call_id(context, expression)
@@ -967,7 +967,7 @@ module Oga
       # * The first node in the supplied node set
       #
       # @param [Oga::XML::NodeSet] context
-      # @param [Oga::XPath::Node] expression
+      # @param [AST::Node] expression
       # @return [Oga::XML::NodeSet]
       #
       def on_call_local_name(context, expression = nil)
@@ -984,7 +984,7 @@ module Oga
       # present.
       #
       # @param [Oga::XML::NodeSet] context
-      # @param [Oga::XPath::Node] expression
+      # @param [AST::Node] expression
       # @return [Oga::XML::NodeSet]
       #
       def on_call_name(context, expression = nil)
@@ -1010,7 +1010,7 @@ module Oga
       # * The first node in the supplied node set
       #
       # @param [Oga::XML::NodeSet] context
-      # @param [Oga::XPath::Node] expression
+      # @param [AST::Node] expression
       # @return [Oga::XML::NodeSet]
       #
       def on_call_namespace_uri(context, expression = nil)
@@ -1034,7 +1034,7 @@ module Oga
       #  string(10) # => "10"
       #
       # @param [Oga::XML::NodeSet] context
-      # @param [Oga::XPath::Node] expression
+      # @param [AST::Node] expression
       # @return [String]
       #
       def on_call_string(context, expression = nil)
@@ -1066,7 +1066,7 @@ module Oga
       #
       # @see [#on_call_string]
       # @param [Oga::XML::NodeSet] context
-      # @param [Oga::XPath::Node] expression
+      # @param [AST::Node] expression
       # @return [Float]
       #
       def on_call_number(context, expression = nil)
@@ -1101,9 +1101,9 @@ module Oga
       # them. In case of node sets the text of the set is used.
       #
       # @param [Oga::XML::NodeSet] context
-      # @param [Oga::XPath::Node] first
-      # @param [Oga::XPath::Node] second
-      # @param [Array<Oga::XPath::Node>] rest
+      # @param [AST::Node] first
+      # @param [AST::Node] second
+      # @param [Array<AST::Node>] rest
       #
       def on_call_concat(context, first, second, *rest)
         args   = [first, second] + rest
@@ -1126,8 +1126,8 @@ module Oga
       #  starts-with("hello world", "hello") # => true
       #
       # @param [Oga::XML::NodeSet] context
-      # @param [Oga::XPath::Node] haystack The string to search.
-      # @param [Oga::XPath::Node] needle The string to search for.
+      # @param [AST::Node] haystack The string to search.
+      # @param [AST::Node] needle The string to search for.
       # @return [TrueClass|FalseClass]
       #
       def on_call_starts_with(context, haystack, needle)
@@ -1148,8 +1148,8 @@ module Oga
       #  contains("hello world", "o w") # => true
       #
       # @param [Oga::XML::NodeSet] context
-      # @param [Oga::XPath::Node] haystack The string to search.
-      # @param [Oga::XPath::Node] needle The string to search for.
+      # @param [AST::Node] haystack The string to search.
+      # @param [AST::Node] needle The string to search for.
       # @return [String]
       #
       def on_call_contains(context, haystack, needle)
@@ -1170,8 +1170,8 @@ module Oga
       # This would return "2014" as it occurs before the first "-".
       #
       # @param [Oga::XML::NodeSet] context
-      # @param [Oga::XPath::Node] haystack The string to search.
-      # @param [Oga::XPath::Node] needle The string to search for.
+      # @param [AST::Node] haystack The string to search.
+      # @param [AST::Node] needle The string to search for.
       # @return [String]
       #
       def on_call_substring_before(context, haystack, needle)
@@ -1194,8 +1194,8 @@ module Oga
       # This would return "08-25" as it occurs after the first "-".
       #
       # @param [Oga::XML::NodeSet] context
-      # @param [Oga::XPath::Node] haystack The string to search.
-      # @param [Oga::XPath::Node] needle The string to search for.
+      # @param [AST::Node] haystack The string to search.
+      # @param [AST::Node] needle The string to search for.
       # @return [String]
       #
       def on_call_substring_after(context, haystack, needle)
@@ -1227,9 +1227,9 @@ module Oga
       #  substring(users/user/username, 5)
       #
       # @param [Oga::XML::NodeSet] context
-      # @param [Oga::XPath::Node] haystack
-      # @param [Oga::XPath::Node] start
-      # @param [Oga::XPath::Node] length
+      # @param [AST::Node] haystack
+      # @param [AST::Node] start
+      # @param [AST::Node] length
       # @return [String]
       #
       def on_call_substring(context, haystack, start, length = nil)
@@ -1255,7 +1255,7 @@ module Oga
       #
       # @see [#on_call_string]
       # @param [Oga::XML::NodeSet] context
-      # @param [Oga::XPath::Node] expression
+      # @param [AST::Node] expression
       # @return [Float]
       #
       def on_call_string_length(context, expression = nil)
@@ -1273,7 +1273,7 @@ module Oga
       #  normalize-space(" fo  o    ") # => "fo o"
       #
       # @param [Oga::XML::NodeSet] context
-      # @param [Oga::XPath::Node] expression
+      # @param [AST::Node] expression
       # @return [String]
       #
       def on_call_normalize_space(context, expression = nil)
@@ -1292,9 +1292,9 @@ module Oga
       #  translate("bar", "abc", "ABC") # => "BAr"
       #
       # @param [Oga::XML::NodeSet] context
-      # @param [Oga::XPath::Node] input
-      # @param [Oga::XPath::Node] find
-      # @param [Oga::XPath::Node] replace
+      # @param [AST::Node] input
+      # @param [AST::Node] find
+      # @param [AST::Node] replace
       # @return [String]
       #
       def on_call_translate(context, input, find, replace)
@@ -1325,7 +1325,7 @@ module Oga
       # The boolean `false` is returned for all other cases.
       #
       # @param [Oga::XML::NodeSet] context
-      # @param [Oga::XPath::Node] expression
+      # @param [AST::Node] expression
       # @return [TrueClass|FalseClass]
       #
       def on_call_boolean(context, expression)
@@ -1349,7 +1349,7 @@ module Oga
       # `true` then this function returns `false` instead.
       #
       # @param [Oga::XML::NodeSet] context
-      # @param [Oga::XPath::Node] expression
+      # @param [AST::Node] expression
       # @return [TrueClass|FalseClass]
       #
       def on_call_not(context, expression)
@@ -1361,7 +1361,7 @@ module Oga
       #
       # This function simply returns the boolean `true`.
       #
-      # @param [Oga::XPath::NodeSet] context
+      # @param [AST::NodeSet] context
       # @return [TrueClass]
       #
       def on_call_true(context)
@@ -1373,7 +1373,7 @@ module Oga
       #
       # This function simply returns the boolean `false`.
       #
-      # @param [Oga::XPath::NodeSet] context
+      # @param [AST::NodeSet] context
       # @return [FalseClass]
       #
       def on_call_false(context)
@@ -1391,7 +1391,7 @@ module Oga
       # such attribute).
       #
       # @param [Oga::XML::NodeSet] context
-      # @param [Oga::XPath::Node] language
+      # @param [AST::Node] language
       # @return [TrueClass|FalseClass]
       #
       def on_call_lang(context, language)
@@ -1425,7 +1425,7 @@ module Oga
       # Using the expression `sum(root/*)` the return value would be `3.0`.
       #
       # @param [Oga::XML::NodeSet] context
-      # @param [Oga::XPath::Node] expression
+      # @param [AST::Node] expression
       # @return [Float]
       #
       def on_call_sum(context, expression)
@@ -1450,7 +1450,7 @@ module Oga
       # and then returns that number as a float.
       #
       # @param [Oga::XML::NodeSet] context
-      # @param [Oga::XPath::Node] expression
+      # @param [AST::Node] expression
       # @return [Float]
       #
       def on_call_floor(context, expression)
@@ -1466,7 +1466,7 @@ module Oga
       # and then returns that number as a float.
       #
       # @param [Oga::XML::NodeSet] context
-      # @param [Oga::XPath::Node] expression
+      # @param [AST::Node] expression
       # @return [Float]
       #
       def on_call_ceiling(context, expression)
@@ -1482,7 +1482,7 @@ module Oga
       # then returns that number as a float.
       #
       # @param [Oga::XML::NodeSet] context
-      # @param [Oga::XPath::Node] expression
+      # @param [AST::Node] expression
       # @return [Float]
       #
       def on_call_round(context, expression)
@@ -1494,7 +1494,7 @@ module Oga
       ##
       # Processes an `(int)` node.
       #
-      # @param [Oga::XPath::Node] ast_node
+      # @param [AST::Node] ast_node
       # @param [Oga::XML::NodeSet] context
       # @return [Float]
       #
@@ -1505,7 +1505,7 @@ module Oga
       ##
       # Processes an `(float)` node.
       #
-      # @param [Oga::XPath::Node] ast_node
+      # @param [AST::Node] ast_node
       # @param [Oga::XML::NodeSet] context
       # @return [Float]
       #
@@ -1516,7 +1516,7 @@ module Oga
       ##
       # Processes a `(string)` node.
       #
-      # @param [Oga::XPath::Node] ast_node
+      # @param [AST::Node] ast_node
       # @param [Oga::XML::NodeSet] context
       # @return [String]
       #
@@ -1528,7 +1528,7 @@ module Oga
       # Processes a variable reference. If the variable is not defined an error
       # is raised.
       #
-      # @param [Oga::XPath::Node] ast_node
+      # @param [AST::Node] ast_node
       # @param [Oga::XML::NodeSet] context
       # @return [Mixed]
       # @raise [RuntimeError]
@@ -1548,7 +1548,7 @@ module Oga
       # in the supplied node set, or the first node in the current context.
       #
       # @param [Oga::XML::NodeSet] context
-      # @param [Oga::XPath::Node] expression
+      # @param [AST::Node] expression
       # @return [Oga::XML::Node]
       #
       def function_node(context, expression = nil)
@@ -1596,7 +1596,7 @@ module Oga
       end
 
       ##
-      # Checks if a given {Oga::XML::Node} instance matches a {Oga::XPath::Node}
+      # Checks if a given {Oga::XML::Node} instance matches a {AST::Node}
       # instance.
       #
       # This method can use both "test" and "type-test" nodes. In case of
@@ -1614,7 +1614,7 @@ module Oga
       # For both the name and namespace a wildcard (`*`) can be used.
       #
       # @param [Oga::XML::Node] xml_node
-      # @param [Oga::XPath::Node] ast_node
+      # @param [AST::Node] ast_node
       # @return [Oga::XML::NodeSet]
       #
       def node_matches?(xml_node, ast_node)
@@ -1645,7 +1645,7 @@ module Oga
 
       ##
       # @param [Oga::XML::Node] xml_node
-      # @param [Oga::XPath::Node] ast_node
+      # @param [AST::Node] ast_node
       # @return [TrueClass|FalseClass]
       #
       def type_matches?(xml_node, ast_node)
diff --git a/lib/oga/xpath/node.rb b/lib/oga/xpath/node.rb
deleted file mode 100644
index da28e53..0000000
--- a/lib/oga/xpath/node.rb
+++ /dev/null
@@ -1,10 +0,0 @@
-module Oga
-  module XPath
-    ##
-    # AST node for XPath expressions.
-    #
-    class Node < AST::Node
-
-    end # Node
-  end # XPath
-end # Oga
diff --git a/lib/oga/xpath/parser.y b/lib/oga/xpath/parser.y
index 1a796ec..ecce04a 100644
--- a/lib/oga/xpath/parser.y
+++ b/lib/oga/xpath/parser.y
@@ -1,5 +1,5 @@
 ##
-# AST parser for XPath expressions. The AST is built using {Oga::XPath::Node}
+# AST parser for XPath expressions. The AST is built using {AST::Node}
 # instances.
 #
 class Oga::XPath::Parser
@@ -162,10 +162,10 @@ end
   #
   # @param [Symbol] type
   # @param [Array] children
-  # @return [Oga::XPath::Node]
+  # @return [AST::Node]
   #
   def s(type, *children)
-    return Node.new(type, children)
+    return AST::Node.new(type, children)
   end
 
   ##
@@ -188,7 +188,7 @@ end
   #  parser = Oga::XPath::Parser.new('//foo')
   #  ast    = parser.parse
   #
-  # @return [Oga::XPath::Node]
+  # @return [AST::Node]
   #
   def parse
     ast = yyparse(self, :yield_next_token)
diff --git a/spec/support/parsing.rb b/spec/support/parsing.rb
index 3b2b442..122cb63 100644
--- a/spec/support/parsing.rb
+++ b/spec/support/parsing.rb
@@ -8,8 +8,7 @@ module Oga
     # @return [AST::Node]
     #
     def s(type, *children)
-      # TODO: add support for CSS AST nodes.
-      return Oga::XPath::Node.new(type, children)
+      return AST::Node.new(type, children)
     end
 
     ##
@@ -47,7 +46,7 @@ module Oga
     # Parses an XPath expression.
     #
     # @param [String] input
-    # @return [Oga::XPath::Node]
+    # @return [AST::Node]
     #
     def parse_xpath(input)
       return Oga::XPath::Parser.new(input).parse