(module) (ann-class java.lang.String) (ann-class java.io.PrintStream methods (: println (-> [java.lang.String] Void))) (ann-class java.lang.System fields (: out java.io.PrintStream)) (defclass Tagged [[java.lang.String tag] [java.lang.Object value]]) (definterface Function (: apply (-> [java.lang.Object] java.lang.Object))) (def const "IDENTITY") (def sample (#Tag "value")) ## (ann id #type (All [x] (-> [x] x))) (def (id x) x) ## #( (def (id x) ## (let return "RETURN" ## return)) ## )# (def (main args) (if true (_. (_.. java.lang.System out) (println (id "TRUE"))) (_. (_.. java.lang.System out) (println "FALSE"))))