(subrp 'car) => nil (subrp #'car) => nil (subrp '+) => nil (subrp (symbol-function 'car)) => t According to the doc, subrp should tell me if "OBJECT" is a built-in function or not. I would expect "car" to be that, since car is implemented in the C source (in data.c). I also get the same behavior for compiled-function-p. Is it not valid to pass a symbol and function objects to those two functions? Can we in that case clarify in the doc string expected value(s) for OBJECT?