anchor.diff:        [(list? pattern)
          (cond
            [(cons-pattern? pattern)
  -          (list (compile-pattern-bindings (car pattern) `(car ,symb))
  -                (compile-pattern-bindings (caddr pattern) `(cdr ,symb)))]
  +          (append (compile-pattern-bindings (car pattern) `(car ,symb))
  +                  (compile-pattern-bindings (caddr pattern) `(cdr ,symb)))]
            [true
             (let* [(out '())]
               (for i 1 (# pattern) 1
  -              (push-cdr! out (compile-pattern-bindings (nth pattern i) `(nth ,symb ,i))))
  +              (for-each elem (compile-pattern-bindings (nth pattern i) `(nth ,symb ,i))
  +                (push-cdr! out elem)))
               out)])]
         [(symbol? pattern)
  -       `(,pattern ,symb)]
  +       `((,pattern ,symb))]
         [(or (number? pattern) (boolean? pattern) (string? pattern) (eq? pattern '_))
          '()]
         [true (error (.. "unsupported pattern " (pretty pattern)))])))
  
positive.code:                list or pretty ))
  (import type ( eq? list? symbol? string?
                 boolean? number? ))
  (import list ( car caddr cadr cdr
                 map filter push-cdr!
                 nth ))
  (import string (..))
  
negative.code:     `(let* [(,val-sym ,val)]
         (cond ,@(map compile-arm pts)
               [true (error "pattern matching failure")]))))
  