(eval `(bitmatch ,(->string data) ((,(cons name type) (rest bitstring)) (list ,name rest))))