heterogeneous relations on hlists