;; -*- 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))