Index: src/InitTweak/InitTweak.cpp
===================================================================
--- src/InitTweak/InitTweak.cpp	(revision 6b33e891da6ed781bdcec69c5dfdd3cb8a9d0e44)
+++ src/InitTweak/InitTweak.cpp	(revision c9c1a7e692ac90923e77cd157da657286b6f54f4)
@@ -68,5 +68,5 @@
 	};
 
-	struct InitDepthChecker {
+	struct InitDepthChecker : public ast::WithShortCircuiting {
 		bool result = true;
 		const ast::Type * type;
@@ -86,4 +86,8 @@
 		void postvisit( ast::ListInit const * ) {
 			curDepth--;
+		}
+		void previsit( ast::SingleInit const * ) {
+			// We don't want to visit the value field.
+			visit_children = false;
 		}
 	};
Index: src/Parser/TypeData.cpp
===================================================================
--- src/Parser/TypeData.cpp	(revision 6b33e891da6ed781bdcec69c5dfdd3cb8a9d0e44)
+++ src/Parser/TypeData.cpp	(revision c9c1a7e692ac90923e77cd157da657286b6f54f4)
@@ -737,6 +737,4 @@
 			location,
 			"?=?",
-			{}, // forall
-			{}, // assertions
 			{
 				new ast::ObjectDecl(
@@ -779,6 +777,4 @@
 			location,
 			"?{}",
-			{}, // forall
-			{}, // assertions
 			{
 				new ast::ObjectDecl(
@@ -802,6 +798,4 @@
 			location,
 			"?{}",
-			{}, // forall
-			{}, // assertions
 			{
 				new ast::ObjectDecl(
@@ -834,6 +828,4 @@
 			location,
 			"^?{}",
-			{}, // forall
-			{}, // assertions
 			{
 				new ast::ObjectDecl(
@@ -882,6 +874,4 @@
 			location,
 			"?=?",
-			{}, // forall
-			{}, // assertions
 			{
 				new ast::ObjectDecl(
@@ -924,6 +914,4 @@
 			location,
 			"?{}",
-			{}, // forall
-			{}, // assertions
 			{
 				new ast::ObjectDecl(
@@ -948,6 +936,4 @@
 			location,
 			"?{}",
-			{}, // forall
-			{}, // assertions
 			{
 				new ast::ObjectDecl(
@@ -981,6 +967,4 @@
 			location,
 			"^?{}",
-			{}, // forall
-			{}, // assertions
 			{
 				new ast::ObjectDecl(
