 						ifSum: const([]),
 						ifProduct: const([]))
 				},
-				ifUniversal: { $1.1 })
+				ifUniversal: { $1.1 },
+				otherwise: const([]))
 		}
 		return para(parameters)(self)
 	}


	public var product: (Term, Term)? {
		return type.analysis(
			ifVariable: const(nil),
			ifUnit: const(nil),
			ifConstructed: { $0.product },
			ifUniversal: { $1.product })
	}

	public var universal: (Set<Manifold.Variable>, Term)? {
		return type.analysis(
			ifVariable: const(nil),
			ifUnit: const(nil),
			ifConstructed: const(nil),
			ifUniversal: unit)
	}




	public var function: (Term, Term)? {
		return type.analysis(
			ifConstructed: { $0.function },
			ifUniversal: { $1.function },
			otherwise: const(nil))
	}

	public var sum: (Term, Term)? {
