void
Free(void **p)
{
    assert(p != NULL);
    free(*p);
    (*p) = NULL;
}

void
FreeArr(void ***arr, const size_t len)
{
    for (size_t i = 0; i < len; i++) {
        Free((void **)&(*arr)[i]);
    }
    Free((void **)arr);
}