(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 (main args) (if true (_. (_.. java.lang.System out) (println (id "YOLO"))) (_. (_.. java.lang.System out) (println "FALSE"))))