Add <: HList bounds to HList ops

This covers all the cases I noticed for #136. I can't promise that it's
exhaustive.
Merge pull request #204 from ceedubs/out-constraints

Add <: HList bounds to HList ops