(do (def val1 4) ; korrekt (def val2 [4 5]) ; korrekt (def [val3] 5) ; falsch (def [val4] [5]) ; korrekt (def [[x1 [y1 y3]] z1] [[1 [2 3]] 4]) ; korrekt (def [[x2 [y2 y4]] z2] [1 2 3 4]) ; falsch ;(def [[x [y1 y2]] z] [1] [2 3] 4) ; falsch ;(def [[x [y1 y2]] z] [1 [2 3]] 4) ; falsch (def f (fn [[x [y1 y2]] z] (+ x y1 y2 z))) (f [1 [2 3]] 4) ; korrekt (f [1 2 3 4]) ; falsch (f [1 2 [3] 4]) ; falsch (f 1 2 3 4) ; falsch (f 1 [2 [3]] 4) ; falsch (f [[1 2] [3 4]]) ; falsch )