> 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.