;; deconstructor (bind-func Blob:[!b,Shape{!a}*,[!b]*,[!b]*]* (lambda (s success fail) (if (<> (tref s 0) 3) (fail) (success))))