}
}
// aliases for building HList types and for pattern matching
type ::[H, T
<: HList
] = HCons
[H, T
] }
}
b2JqZWN0IE1haW4gZXh0ZW5kcyBBcHAgewoJc2VhbGVkIHRyYWl0IEhMaXN0CgkgCglmaW5hbCBjYXNlIGNsYXNzIEhDb25zW0gsIFQgPDogSExpc3RdKGhlYWQgOiBILCB0YWlsIDogVCkgZXh0ZW5kcyBITGlzdCB7CgkgICBkZWYgOjpbVF0odiA6IFQpID0gSENvbnModiwgdGhpcykKCX0KCSAKCXNlYWxlZCBjbGFzcyBITmlsIGV4dGVuZHMgSExpc3QgewoJICAgZGVmIDo6W1RdKHYgOiBUKSA9IEhDb25zKHYsIHRoaXMpCgl9CgkgCgkvLyBhbGlhc2VzIGZvciBidWlsZGluZyBITGlzdCB0eXBlcyBhbmQgZm9yIHBhdHRlcm4gbWF0Y2hpbmcKCW9iamVjdCBITGlzdCB7CgkgIHR5cGUgOjpbSCwgVCA8OiBITGlzdF0gPSBIQ29uc1tILCBUXQoJICB2YWwgOjogPSBIQ29ucwoJfQp9