Index: src/SynTree/Expression.cc
===================================================================
--- src/SynTree/Expression.cc	(revision 80eefcbc5f9cf0e96b03174100a2ac5bb28ee6ac)
+++ src/SynTree/Expression.cc	(revision 99614c25485a445fe8b29250bef7718bb7bb7883)
@@ -698,5 +698,5 @@
 }
 
-UntypedInitExpr::UntypedInitExpr( Expression * expr, const std::list<InitAlternative> & initAlts ) : expr( expr ), initAlts( initAlts ) {}
+UntypedInitExpr::UntypedInitExpr( Expression * expr, const std::vector<InitAlternative> & initAlts ) : expr( expr ), initAlts( initAlts ) {}
 UntypedInitExpr::UntypedInitExpr( const UntypedInitExpr & other ) : Expression( other ), expr( maybeClone( other.expr ) ), initAlts( other.initAlts ) {}
 UntypedInitExpr::~UntypedInitExpr() {
Index: src/SynTree/Expression.h
===================================================================
--- src/SynTree/Expression.h	(revision 80eefcbc5f9cf0e96b03174100a2ac5bb28ee6ac)
+++ src/SynTree/Expression.h	(revision 99614c25485a445fe8b29250bef7718bb7bb7883)
@@ -62,5 +62,5 @@
 	InferredParams inferParams;       ///< Post-resolution inferred parameter slots
 	std::vector<UniqueId> resnSlots;  ///< Pre-resolution inferred parameter slots
-	
+
 	// xxx - should turn inferParams+resnSlots into a union to save some memory
 
@@ -813,7 +813,7 @@
 public:
 	Expression * expr;
-	std::list<InitAlternative> initAlts;
-
-	UntypedInitExpr( Expression * expr, const std::list<InitAlternative> & initAlts );
+	std::vector<InitAlternative> initAlts;
+
+	UntypedInitExpr( Expression * expr, const std::vector<InitAlternative> & initAlts );
 	UntypedInitExpr( const UntypedInitExpr & other );
 	~UntypedInitExpr();
@@ -822,5 +822,5 @@
 	UntypedInitExpr * set_expr( Expression * newValue ) { expr = newValue; return this; }
 
-	std::list<InitAlternative> & get_initAlts() { return initAlts; }
+	std::vector<InitAlternative> & get_initAlts() { return initAlts; }
 
 	virtual UntypedInitExpr * clone() const { return new UntypedInitExpr( * this ); }
