 	static func both(x: ThisType, _ y: ThatType) -> Self
 	
 	func these<T>(@noescape ifThis ifThis: ThisType throws -> T, ifThat: ThatType throws -> T, ifBoth: (ThisType, ThatType) throws -> T) rethrows -> T
+}
+
+// MARK: - TheseType: Pointed
+
+public extension TheseType {
+	public static func pure(x: ThatType) -> Self {
+		return .that(x)
+	}
 }
 
 // MARK: - TheseType - method

			return try ifBoth(a, b)
		}
	}
}

// MARK: - TheseType

public protocol TheseType: Pointed {
	associatedtype ThisType
	associatedtype ThatType
	
