add ~sruct and define-match-bind