 	return f(a)
 }
 
-infix operator ~ { associativity right precedence 10 }
-public func ~<A, B>(f: A -> B, a: A) -> B {
-	return f(a)
-}
-
 public func flip<A, B, C>(fn: (A, B) -> C) -> (B, A) -> C {
 	return { b, a in
 		return fn(a, b)


public func void<T>(fn: @autoclosure () -> T) {
	fn()
}

public func inc(a: Int) -> Int {
	return a + 1
}

public func dec(a: Int) -> Int {
	return a - 1
}

public func pure<A>(a: A) -> A? {
	return a
}

infix operator <^> { associativity left }


import Foundation

public func const<T, V>(val: T) -> (V -> T) {
	return { _ in val }
}

public func id<T>(val: T) -> T {
