> Clearly needs more TypeOperators. > > type (l ∷ t) = t > > foo :: ("red" ∷ Double) -> ("green" ∷ Double) -> ("blue" ∷ Double) -> IO () That looks similar to an earlier proposal: https://www.haskell.org/pipermail/haskell-cafe/2012-December/105494.html which doesn't seem to have caught on.