Product public protocol Product Undocumented C Undocumented Declaration Swift associatedtype C product(_:_:) Undocumented Declaration Swift func product<H, T>(_ ch: Kind<C, H>, _ ct: Kind<C, T>) -> Kind<C, HCons<H, T>> where T : HList emptyProduct() Undocumented Declaration Swift func emptyProduct() -> Kind<C, HNil> project(_:_:_:) Undocumented Declaration Swift func project<F, G>(_ instance: @escaping () -> Kind<C, G>, _ to: @escaping (F) -> G, _ from: (G) -> F) -> Kind<C, F>