I'm looking at Sage developer guide for Cython: https://doc.sagemath.org/html/en/developer/coding_in_cython.html
But I cannot find information about how to use static typing, which is what enables Cython (not necessarily in the context of Sage) to reach C-like performance. Since objects in Sage often have complicated types (expressions, polynomials), how would type declarations (cdef in Cython) work?