Another option could be to have `OutlineTopLevelVariable` take a `VariableDeclaration` parameter and extract all it needs from that (similar for the other elements of the outline).