Can product types be encoded in simply-typed lambda calculus with base types and function types? It depends.