hligd: Implement left folding

Folding is nice. What might make sense would be to support a sort of recursive
fold, too; where the passed function is not only applied to an object of the
requested type, but if that type contains other objects of the same type, it
is applied there recursively as well. This would then match the behaviour
of shapeless' everything more closely.
test: Implement sum/min for HLIGD
bench.sh: Fix filtering for bench.tex
Use N instead of magic constant 256
test: Make company creator more readable