size argument of templates: int ==> index_t