Emacs' C code contains manually unrolled loops! E.g. assoc: https://github.com/emacs-mirror/emacs/blob/0fca290ddff9eabcd2e866b1361cd5b5ba868281/src/fns.c#L1503-L1537 is this common and/or good practice?