Scala: перекрестное (декартово) произведение с несколькими источниками и разнородными типами

Я пытаюсь построить несколько перекрестных произведений различных типов (но каждый однородный). Желаемый тип возвращаемого значения - это обход кортежа с типом, совпадающим с типами во входных обходных путях. Например:

List(1, 2, 3) cross Seq("a", "b") cross Set(0.5, 7.3)

Это должно датьTraversable[(Int, String, Double)] со всеми возможными комбинациями из трех источников. Случай объединения только двух источников былответил здесь, Данная идея:

implicit class Crossable[X](xs: Traversable[X]) {
  def cross[A](ys: Traversable[A]) = for { x 

Ответы на вопрос(1)

Ваш ответ на вопрос