My bad, .destroy doesn't do *zis = typeof(*zis).init, but rather copies init over *this, without calling assignment. Anyways, seems like it's an extra step here?