Exploiting complementarity in applied general-equilibrium models: endogenizing zeros, firm and mode types, capacity constraints