The solution using `reverse_index_array` didn't work because it lost the order that the corners were processed in (the order around the vertex). This is important when setting custom normals because the process sets sharp edges when the normal of the current and previous corner is too different.