Best practices: dt_alloc_align + memset -> dt_calloc_align
Best practices: malloc(c * sizeof(y)) -> reallocarray(NULL, c, sizeof(y))
Best practices: dt_alloc_align(c * sizeof(y)) -> dt_reallocarray_align(NULL, c, sizeof(y))