#$ Datatype with a single constructor which takes in one function. (requires unions currently :( ) # () Fun Fun (I32 -> I32) fn id (x) return x fn add1 (x) return x + 1 fn uni (x a, y a) return x = Fun(id) y = Fun(add1) println(uni(x, y))