(for ([x xs]) (displayln x))
This works for `xs` being a sequence, which includes lists and vectors. (for ([x (in-list xs)]) (displayln x))
(for ([x (in-vector xs)]) (displayln x)) (local.get 0)
(local.get 1) (func $car (type $Prim1)
(param $v (ref eq))
(result (ref eq))
(if (result (ref eq))
(ref.test (ref $Pair) (local.get $v))
(then (struct.get $Pair $a (ref.cast (ref $Pair) (local.get $v))))
(else (call $raise-pair-expected (local.get $v))
(unreachable))))