 	case Boolean(Bool)
 	case If(Recur, Recur, Recur)
 	case Annotation(Recur, Recur)
+	case Axiom(Any, Recur)
 }
 
 extension Expression where Recur: FixpointType {

		ifBoolean: (Bool -> T)? = nil,
		ifIf: ((Recur, Recur, Recur) -> T)? = nil,
		ifAnnotation: ((Recur, Recur) -> T)? = nil,
		@noescape otherwise: () -> T) -> T {
		return analysis(
			ifUnit: { ifUnit?() ?? otherwise() },

				ifProjection: Expression.Projection,
				ifProduct: Expression.Product,
				ifIf: Expression.If,
				ifAxiom: Expression.Axiom,
				otherwise: const(t)))
		} (Recur(self)).out
	}
