final HAppend<HCons<Boolean, HNil>, HCons<Double,
HCons<String, HCons<Integer[], HNil>>>, HCons<Boolean,
HCons<Double, HCons<String, HCons<Integer[], HNil>>>>> one = append(zero);
It's here that I miss the repurposed auto keyword of C++ to do some rudimentary type inference.