I wanted to ask if it is possible to overwrite functions in common-lisp package. I know I can do it in c level, but I would rather do it in lisp level, if it is possible.
You can unlock the package, redefine the function and go. However, note that the compiler will still generate code that calls the original C function. It is a better practice normally to use a package with shadowing symbols: it does not have this problem and its consequences, unlike symbol redefinitions, are not undefined as per the ANSI Standard.