Basic AST

As mentioned, to flag dummy `ClassDecl`s for types which we don't want to treat as references.