Index: libcfa/src/collections/array.hfa
===================================================================
--- libcfa/src/collections/array.hfa	(revision 9bb6c5f932cd0dc4fdb4d3e7678e9286959c06a0)
+++ libcfa/src/collections/array.hfa	(revision 1665ee50180213ff932d61f51eda5998defb1c5e)
@@ -156,9 +156,18 @@
 //	other two.  This solution offers ?{}() that needs only ?{}(), and similar for ^?{}.
 
+// skip initializing elements
+//   array(float, 5) x = { delay_init };
+struct delay_init_t {} delay_init;
+forall( [N], S & | sized(S), Timmed &, Tbase & )
+static inline void ?{}( arpk( N, S, Timmed, Tbase ) & this, delay_init_t ) {
+	void ?{}( S (&)[N] ) {}
+	?{}(this.strides);
+}
+
+// call default ctor on elements
+//   array(float, 5) x;
 forall( [N], S & | sized(S), Timmed &, Tbase & | { void ?{}( Timmed & ); } )
 static inline void ?{}( arpk( N, S, Timmed, Tbase ) & this ) {	
-	void ?{}( S (&)[N] ) {}
-	?{}(this.strides);
-
+	?{}( this, delay_init );
 	for (i; N) ?{}( (Timmed &)this.strides[i] );
 }
@@ -173,4 +182,5 @@
 	}
 }
+
 
 //
