;; two different types cannot be equal! (bind-func equal:[bool,!a,!b]* ;; -> (lambda (r a b) (not (equal? a b))) (lambda (a b) #f))