Recursive array templates