Index: src/AST/Decl.cpp
===================================================================
--- src/AST/Decl.cpp	(revision e01eb4aa19bfce233e01f84a77d45064842e6ebf)
+++ src/AST/Decl.cpp	(revision b859f59ebd77d3938fa0f3ac53bcd0b8d708f3b4)
@@ -58,6 +58,7 @@
 	CompoundStmt * stmts, Storage::Classes storage, Linkage::Spec linkage,
 	std::vector<ptr<Attribute>>&& attrs, Function::Specs fs, bool isVarArgs)
-: DeclWithType( loc, name, storage, linkage, std::move(attrs), fs ), params(std::move(params)), returns(std::move(returns)),
-	type_params(std::move(forall)), stmts( stmts ) {
+: DeclWithType( loc, name, storage, linkage, std::move(attrs), fs ),
+	type_params(std::move(forall)), assertions(),
+	params(std::move(params)), returns(std::move(returns)), stmts( stmts ) {
 	FunctionType * ftype = new FunctionType(static_cast<ArgumentFlag>(isVarArgs));
 	for (auto & param : this->params) {
@@ -82,6 +83,6 @@
 	std::vector<ptr<Attribute>>&& attrs, Function::Specs fs, bool isVarArgs)
 : DeclWithType( location, name, storage, linkage, std::move(attrs), fs ),
+		type_params( std::move( forall) ), assertions( std::move( assertions ) ),
 		params( std::move(params) ), returns( std::move(returns) ),
-		type_params( std::move( forall) ), assertions( std::move( assertions ) ),
 		type( nullptr ), stmts( stmts ) {
 	FunctionType * type = new FunctionType( (isVarArgs) ? VariableArgs : FixedArgs );
@@ -162,7 +163,7 @@
 
 	auto it = enumValues.find( enumerator->name );
-	
+
 	if ( it != enumValues.end() ) {
-			
+
 		// Handle typed enum by casting the value in (C++) compiler
 		// if ( base ) { // A typed enum
@@ -179,5 +180,5 @@
 		// 			case BasicType::Kind::LongUnsignedInt: value = (long unsigned int) it->second; break;
 		// 			case BasicType::Kind::LongLongSignedInt: value = (long long signed int) it->second; break;
-		// 			case BasicType::Kind::LongLongUnsignedInt: value = (long long unsigned int) it->second; break; 
+		// 			case BasicType::Kind::LongLongUnsignedInt: value = (long long unsigned int) it->second; break;
 		// 			// TODO: value should be able to handle long long unsigned int
 
Index: src/AST/Decl.hpp
===================================================================
--- src/AST/Decl.hpp	(revision e01eb4aa19bfce233e01f84a77d45064842e6ebf)
+++ src/AST/Decl.hpp	(revision b859f59ebd77d3938fa0f3ac53bcd0b8d708f3b4)
@@ -125,8 +125,8 @@
 class FunctionDecl : public DeclWithType {
 public:
+	std::vector<ptr<TypeDecl>> type_params;
+	std::vector<ptr<DeclWithType>> assertions;
 	std::vector<ptr<DeclWithType>> params;
 	std::vector<ptr<DeclWithType>> returns;
-	std::vector<ptr<TypeDecl>> type_params;
-	std::vector<ptr<DeclWithType>> assertions;
 	// declared type, derived from parameter declarations
 	ptr<FunctionType> type;
