But that isn't practical. If I put Muslim symbols, and Jewish symbols on cakes, but not Christian, that is discrimination. Similarly, if I'm okay with putting a man and woman as decoration on cakes, but not 2 men or 2 women, that's discrimination. Moreover, I could see an argument cropping up where a bakery once bakes a cake which says "God Loves Gays," but doesn't bake a cake which says "Being Gay is a Sin." This could be construed as religious discrimination because it discriminates against a portion of a religion. The bakery easily accepts a particular notion of God, while refusing another. If religion is a protected class, shouldn't the bakery be forced to accept all religious statements? Finally, if a gay couple orders a cake with a heterosexual couple on the cake, and the bakery agrees to bake it, but disagrees whey they place a homosexual couple on the cake, is this discrimination on the basis of sexual orientation?
This is the problem in theory with class protections. In practice we accept the contradictions because the problems that arise in lieu of class protections are too great for society to bear (I believe we could carve them out, but the state of our public administration is too shitty to execute it well).