Index: libcfa/prelude/prelude-gen.cc
===================================================================
--- libcfa/prelude/prelude-gen.cc	(revision b1f225e5f4826e36c0f6269f224ed145c0a85624)
+++ libcfa/prelude/prelude-gen.cc	(revision ef05cf0302e9d1379cbd37d9453c404cb7a437b8)
@@ -149,14 +149,10 @@
 }
 
-template <typename... T>
-constexpr auto make_array(T&&... values) ->
-    std::array<
-        typename std::decay<typename std::common_type<T...>::type>::type,
-        sizeof...(T)>
-{
-    return std::array<
-        typename std::decay<
-            typename std::common_type<T...>::type>::type,
-        sizeof...(T)>{{std::forward<T>(values)...}};
+template<typename... T>
+using make_array_t = std::array<std::decay_t<std::common_type_t<T...>>, sizeof...(T)>;
+
+template<typename... T>
+constexpr make_array_t<T...> make_array(T&&... values) {
+	return make_array_t<T...>{{std::forward<T>(values)...}};
 }
 
Index: src/InitTweak/InitTweak.cpp
===================================================================
--- src/InitTweak/InitTweak.cpp	(revision b1f225e5f4826e36c0f6269f224ed145c0a85624)
+++ src/InitTweak/InitTweak.cpp	(revision ef05cf0302e9d1379cbd37d9453c404cb7a437b8)
@@ -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 b1f225e5f4826e36c0f6269f224ed145c0a85624)
+++ src/Parser/TypeData.cpp	(revision ef05cf0302e9d1379cbd37d9453c404cb7a437b8)
@@ -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(
