The second is a bit odder. For some reason, find-lisp-object-file-name searches for an internal function definition using TYPE instead of OBJECT. I would have expected it to use OBJECT like the rest of the tests do. I see no reason for the current behaviour. Either the documentation should be changed to clearly indicate the current behaviour, or the function should be changed so that OBJECTs for which (subrp (symbol-function OBJECT)) returns t should return 'C-source'.