module Algebra.Subtractive where

type a:*:b = (a,b)
newtype a:+:b = Union (forall r. (a -> r) :*: (b -> r) -> r)

newtype a:-:b = Diff (forall r. (b -> r) -> a -> r)
type a:/:b = b -> a