add restructuring var assignment

currently this works:
(var [a b] [10 20]
     {c d} {c 30 d 40}
     e 50
     f 60)

[a b c d e f] ;;=> [10 20 30 40 50 60]

if this works out i'll add it to arguments as well

(def example ({a b}) [b a])

(example { a 10, b 20 }) ;;=> [20 10]