Index: src/AST/Convert.cpp
===================================================================
--- src/AST/Convert.cpp	(revision 3e3f236be88fc36d0ee588b73fcfe7a922800c77)
+++ src/AST/Convert.cpp	(revision b3a0df6550f58a1a91e1acf2905fbb0a18cad167)
@@ -55,8 +55,8 @@
 
 // these need to be accessed in new FixInit now
-ast::Type * sizeType = nullptr;
-ast::FunctionDecl * dereferenceOperator = nullptr;
-ast::StructDecl   * dtorStruct = nullptr;
-ast::FunctionDecl * dtorStructDestroy = nullptr;
+ast::ptr<ast::Type> sizeType = nullptr;
+const ast::FunctionDecl * dereferenceOperator = nullptr;
+const ast::StructDecl   * dtorStruct = nullptr;
+const ast::FunctionDecl * dtorStructDestroy = nullptr;
 
 }
@@ -2804,4 +2804,10 @@
 	ConverterOldToNew c;
 	ast::TranslationUnit unit;
+	if (Validate::SizeType) {
+		// this should be a BasicType.
+		auto old = strict_dynamic_cast<BasicType *>(Validate::SizeType);
+		ast::sizeType = new ast::BasicType{ (ast::BasicType::Kind)(unsigned)old->kind };
+	}
+
 	for(auto d : translationUnit) {
 		d->accept( c );
Index: src/AST/Expr.hpp
===================================================================
--- src/AST/Expr.hpp	(revision 3e3f236be88fc36d0ee588b73fcfe7a922800c77)
+++ src/AST/Expr.hpp	(revision b3a0df6550f58a1a91e1acf2905fbb0a18cad167)
@@ -112,4 +112,5 @@
 
 		bool hasSlots() const { return data.resnSlots; }
+		bool hasParams() const { return data.inferParams; }
 
 		ResnSlots& resnSlots() {
Index: src/AST/Fwd.hpp
===================================================================
--- src/AST/Fwd.hpp	(revision 3e3f236be88fc36d0ee588b73fcfe7a922800c77)
+++ src/AST/Fwd.hpp	(revision b3a0df6550f58a1a91e1acf2905fbb0a18cad167)
@@ -139,8 +139,8 @@
 struct TranslationUnit;
 // TODO: Get from the TranslationUnit:
-extern Type * sizeType;
-extern FunctionDecl * dereferenceOperator;
-extern StructDecl   * dtorStruct;
-extern FunctionDecl * dtorStructDestroy;
+extern ptr<Type> sizeType;
+extern const FunctionDecl * dereferenceOperator;
+extern const StructDecl   * dtorStruct;
+extern const FunctionDecl * dtorStructDestroy;
 
 }
Index: src/AST/TranslationUnit.hpp
===================================================================
--- src/AST/TranslationUnit.hpp	(revision 3e3f236be88fc36d0ee588b73fcfe7a922800c77)
+++ src/AST/TranslationUnit.hpp	(revision b3a0df6550f58a1a91e1acf2905fbb0a18cad167)
@@ -29,8 +29,8 @@
 		std::map< UniqueId, Decl * > idMap;
 
-		Type * sizeType;
-		FunctionDecl * dereference;
-		StructDecl * dtorStruct;
-		FunctionDecl * dtorDestroy;
+		const Type * sizeType;
+		const FunctionDecl * dereference;
+		const StructDecl * dtorStruct;
+		const FunctionDecl * dtorDestroy;
 	} global;
 };
