Step 1: Index Classes and Traits
Step 2: Index objects
Step 3: Given a location, find the declaration that contains it
Step 4: Find occurrences in super-position
Step 5: Find all subtypes of a given type