Better validation. Check that unions contain no fixup types and structs

contain no references to interfaces (hwBinders).
diff --git a/AST.h b/AST.h
index 5c18991..8dfaa69 100644
--- a/AST.h
+++ b/AST.h
@@ -34,7 +34,9 @@
     void enterScope(Scope *container);
     void leaveScope();
     Scope *scope();
-    void addScopedType(const char *localName, NamedType *type);
+
+    // Returns true iff successful.
+    bool addScopedType(const char *localName, NamedType *type);
 
     void *scanner();
     void setScanner(void *scanner);