BasicInit::mutate(SynTree::CompoundStmt *compoundStmt)
	- collect all decl stmts from kids
	- move to top of block
	- replace initializers with assignment stmts

	- throw( 0 ) s.b. throw SemanticError( "type doesn't match initializer in ", odecl );
	- doesn't work when initialization depends on previous computation in same block
