First, what happens when you have both Product Types in the same order?

What distinguishes one Product Type from the other to determine what is in the cart based on Products that can be shipped and Products that cannot be shipped?