 
 	public func analysis<T>(
 		ifUnitTerm: (() -> T)? = nil,
+		ifUnitType: (() -> T)? = nil,
 		ifType: (Int -> T)? = nil,
 		ifPi: ((Value, Value -> Value) -> T)? = nil,
 		ifSigma: ((Value, Value -> Value) -> T)? = nil,

		switch self {
		case .UnitTerm:
			return ifUnitTerm()
		case let .Type(n):
			return ifType(n)
		case let .Pi(type, body):


	// MARK: Cases

	case UnitType
	case UnitTerm
	case Type(Int)
	case Pi(Box<Value>, Value -> Value)
