Function Types as Constant Dependent Products