This function generates an inefficiency note because SUBSEQ derive-type yields nil.
; Of course I know this is (- (length ...) 2) and I wouldn't actually write it this way
* (defun bar (atom)
(declare(optimize (speed 3)))
(length (subseq (symbol-name atom) 2)))
(specifier-type 'simple-string) is a UNION-TYPE and so (array-type-p type) => NIL.
SEQUENCE-RESULT-NTH-ARG helper is unable to deal with anything but array or list.
So then LENGTH calls the static-fn instead of just accessing a slot in the resulting simple-string.
Is that a feature?
And incidentally, the disassembler seems not to find a name for the LENGTH static-fn.