It is like Jony Ive wrote this: (car cdr type sym nom rdb cls stat sys) (coin))) (aif (some [mem f _] prims) (if (udrop (cdr it) args) (sigerr 'overargs s r m) (with (a (car args) b (cadr args)) (eif v (case f id (id a b) join (join a b) car (car a) cdr (cdr a) type (type a) xar (xar a b) xdr (xdr a b) sym (sym a) nom (nom a) wrb (wrb a b) rdb (rdb a) ops (ops a b) cls (cls a) stat (stat a) coin (coin) sys (sys a)) (sigerr v s r m) (mev s (cons v r) m)))) (sigerr 'unknown-prim s r m))) I like the brevity in Arc. I don’t know why, but it works for me. (set prims '((id join xar xdr wrb ops)
(def applyprim (f args s r m)