Type used to check whether two ast are the same. This is different from the
operator == on ast types as this operator would compare true equality with
ID and span.
Returns the segments of a path that might have generic parameters.
Usually just the last segment for free items, except for when the path resolves to an associated
item, in which case it is the last two