Given delta
types ΔA,ΔB for
types A,B, a delta
type □ for
A+B is given as follows. Let
□=ΔA×ΔB+End(A+B), where
End(X)=XX. Then let:
□ inherit
! as one might expect
Composition be
defined as
(δa,δb) ; (δa′,δb′)=(δa ; δa′,δb ; δb′) over
ΔA×ΔB and be
defined as
f ; g=!f ; !g elsewhere
Noop be
defined as
noop=(noopA,noopB)
The result is an efficient representation for deltas on
A and on
B alongside a fallback for other deltas.