data Ray = Ray Vector Vector
или
type Ray = (Vector, Vector)
Что предпочтительнее в идиоматическом haskell? Почему я должен использовать один над другим?
Меня не волнует производительность.
Кажется, что это мало чем отличается от функций, например:
trace :: Ray -> …
trace (Ray x d) = …
-- OR
trace (x, d) = …