;; a generic sqr^2 that only accepts types ;; which have a valid sqr definition (bind-func sqr2:[!a,!a]* -> (lambda (r x) (t:poly-exists? 'sqr `(,x ,x))) (lambda (x) (sqr (sqr x))))