public static <Head, Tail extends HList> HCons<Head, Tail> cons(Head head, Tail tail) {
        return new HCons<>(head, tail);
    }
public static < Head , Tail extends HList > HCons < Head , Tail > cons ( Head head , Tail tail ) { return new HCons < > ( head , tail ) ; }
Static factory method for creating an HList from the given head and tail.

@param head   the head element
@param tail   the tail HList
@param <Head> the head type
@param <Tail> the tail type
@return the newly created HList