diff --git a/lib/js/runtime.sx b/lib/js/runtime.sx index 669d195f..0f93158f 100644 --- a/lib/js/runtime.sx +++ b/lib/js/runtime.sx @@ -2195,10 +2195,14 @@ ((list? v) v) ((= (type-of v) "string") (js-string-to-list v 0 (list))) ((dict? v) - (let - ((result (list))) - (for-each (fn (k) (append! result (get v k))) (keys v)) - result)) + (cond + ((contains? (keys v) "length") (js-arraylike-to-list v)) + (else + (let + ((result (list))) + (begin + (for-each (fn (k) (append! result (get v k))) (keys v)) + result))))) (else (list))))) (define