Marriage is an institution based on practical, not ideological concerns. Your view of it as bigoted treats homosexuals as a group rather than as individuals. I have the same concerns about this as about affirmative action. Contrast those to laws that prohibit discrimination against an individual.
Hm. I see where you're coming from, sort of. You're saying that I'm not being discriminated against because I can still marry a woman, just like all other males. But really, marriage is the right of
two people to get married to each other -- and limiting it to heterosexual couples is gender discrimination
against the pair. So the map People --> PossibleMarriages is permutation-invariant, but the map People x People --> PossibleMarriages is not.
I should talk about politics in terms of category theory more often.