Added defn-typecheck macro.
Added defn-typecheck macro.

user> (defn-typecheck addint :java.lang/Integer "My little adder" [x y] (+ x y))
user> (addint 1 2)
3
user> (addint 1.0 2)
; Evaluation aborted.
user> (derive :java.lang/Double :java.lang/Integer)
nil
user> (addint 1.0 2)
3.0

Lobage/conexp-clj,fcatools/conexp-clj,Lobage/conexp-clj,exot/conexp-clj,fcatools/conexp-clj,fcatools/conexp-clj,immo/clojure-conexp,fcatools/conexp-clj,exot/conexp-clj,immo/clojure-conexp,Lobage/conexp-clj,fcatools/conexp-clj,exot/conexp-clj,Lobage/conexp-clj,exot/conexp-clj,exot/conexp-clj