In Control.Arrow we have:
leftApp :: ArrowApply a => a b c -> a (Either b d) (Either c d)Any instance of
ArrowApplycan be made into an instance ofArrowChoiceby definingleft = leftApp.
So why isn't ArrowChoice
a parent of ArrowApply?
Best regards,
Petr