Implement Products and Coproducts for (->).