Jak są zbudowane rozszerzenia C/C++ dla Pythona (C Extensions) pod maską? Dlaczego rozszerzenia napisane przy użyciu tradycyjnego API C Pythona spowalniają przejście na Pythona bez GIL, i jak rozwiązują ten problem nowoczesne alternatywy takie jak HPy lub Cython?