This is nice and very useful, now that it is defined on tuples. How about we also add :~ for symmetry? I found the missing symmetry confusing in certain cases, where :~ just feels more right than ~. Scala list has the same triple +: :+ ::. Corresponding extractors would be a good addition to Slick as well, but we can do this in a separate PR. We can also consider renaming them from ~: :~ ~ to +: :+ :: (and adding a Nil). This would make the API conform to Scala Lists and Shapeless. Also ~ is already used in parser combinators. I am not certain though if :: for tuples is maybe more confusing than helpful.