Why is the Aux technique required for type-level computations?

There are two separate questions here: Why does Shapeless use type members instead of type parameters in some cases in some type classes? Why does Shapeless include Aux type aliases in the companion objects of these type classes? I’ll start with the second question because the answer is more straightforward: the Aux type aliases are … Read more

Weird behavior trying to convert case classes to heterogeneous lists recursively with Shapeless

This now works more or less as written using recent shapeless-2.1.0-SNAPSHOT builds, and a close relative of the sample in this question has been added there as an example. The problem with the original is that each expansion of a Generic introduces a new HList type into the implicit resolution of the DeepHLister type class … Read more