 		return true
 	}
 
-	public static func makeNil() -> HNil {
-		return HNil()
+	public static var length : Int {
+		return 0
 	}
 }
 


import Darwin

// A HList can be thought of like a tuple, but with list-like operations on the types.

public protocol HList {
	typealias Head
	typealias Tail

	static var length : Int { get }
}

/// The cons HList node.
public struct HCons<H, T : HList> : HList {
	public typealias Head = H
	public typealias Tail = T
