SBCL seems to be inferring that DROP-WHILE returns an array when its argument type is unknown? Haven't debug further yet but wanted to record here now.
XILINX> (lambda (x) (rest (drop-while #'identity x)))
; in: LAMBDA (X)
; (REST (DROP-WHILE #'IDENTITY XILINX::X))
; ==>
; (CDR (DROP-WHILE #'IDENTITY XILINX::X))
;
; caught STYLE-WARNING:
; Derived type of
; (SB-KERNEL:VECTOR-SUBSEQ* SB-C::SEQ SB-C::START SB-C::END)
; in
; (DROP-WHILE #'IDENTITY X)
; is
; (VALUES (SIMPLE-ARRAY * (*)) &OPTIONAL),
; conflicting with their asserted type
; LIST.
; See also:
; The SBCL Manual, Node "Handling of Types"
;
; compilation unit finished
; caught 1 STYLE-WARNING condition
#<FUNCTION (LAMBDA (X)) {52A66EBB}>
SBCL seems to be inferring that DROP-WHILE returns an array when its argument type is unknown? Haven't debug further yet but wanted to record here now.