;; -*- Mode: Irken -*- (include "lib/core.scm") (define thing1 (:Squee x y) -> (+ x y) (:Bleek b) -> (if b 3 4) x -> (thing2-ref x) ) (define (thing1-ref x) : ((rsum 'a) -> 'b) (error "blech")) (define thing2 (:Squee b) -> (if b 99 88) ) (define (thing2-ref x) : ((rsum 'a) -> 'b) (error "blech")) (:Bleek #t) (:Squee 1 2) (:Squee #f) (set! thing1-ref thing1) (set! thing2-ref thing2) (thing1-ref (:Squee #t))