Stable version with array-like templates