;; numbers are only equal if they are the same type (bind-func equal:[bool,!a,!a]* ;; -> (lambda (r a b) (and (equal? a b) (t:number? a))) "basic equality check" (lambda (a b) (= a b)))