-- $extradoc1
) where
-import Control.Category ( (>>>) )
import Control.Category
import GHC.HetMet.GArrow
import Prelude hiding ((.), id)
-data (GArrowSwap g (**) u, GArrowCopy g (**) u, GArrowDrop g (**) u) => Polynomial g (**) u t x y
+data GArrow g (**) u => Polynomial g (**) u t x y
= L (g (t**x) y) -- uses t, wants it as the left arg
| R (g (x**t) y) -- uses t, wants it as the right arg
| B (g (t**x) y) (g (x**t) y) -- uses t, doesn't care which arg