{-# LANGUAGE TypeOperators, ExplicitNamespaces #-} module Ops ((+)()) -- not supported where data a + b = L a | R b either1 :: (t1 -> t) -> (t2 -> t) -> (t1 + t2) -> t -- pass -- either2 :: (t1 -> t) -> (t2 -> t) -> (t1 E.+ t2) -> t -- not supported