parse-csi-sequence used destructuring-bind on a single return value, failing when the CSI sequence had no parameters (e.g. plain arrow keys ESC[A). Capture multiple return values via multiple-value-list instead of relying on let* which only captures the primary value.