Add <: HList bounds to HList ops

This covers all the cases I noticed for #136. I can't promise that it's
exhaustive.