taking others' claims about how they feel about their bodies at face
That's a strawman. "How does one feel about one's body" is far away from what most people including the dictionary take as the definition of gender.
More generally do you think there little cost involved by letting a male prisoner who doesn't like to be among other male prisoners but likes to be around female prisoners to declare that he's female and then let society put him in a female prison?
a male prisoner who [...] likes to be around female prisoners
So there are specific contexts in which taking people's expressed gender identity at face value would work badly. Fair enough. But as the saying goes, "hard cases make bad law"; the question "are there contexts where doing X works badly?" may be less appropriate than "in most contexts, does doing X work better than not doing X?". It could be that (1) letting allegedly transgender criminals get moved to different prisons on the basis of their "new" gender...
There are some long lists of false beliefs that programmers hold. isn't because programmers are especially likely to be more wrong than anyone else, it's just that programming offers a better opportunity than most people get to find out how incomplete their model of the world is.
I'm posting about this here, not just because this information has a decent chance of being both entertaining and useful, but because LWers try to figure things out from relatively simple principles-- who knows what simplifying assumptions might be tripping us up?
The classic (and I think the first) was about names. There have been a few more lists created since then.
Time. And time zones. Crowd-sourced time errors.
Addresses. Possibly more about addresses. I haven't compared the lists.
Gender. This is so short I assume it's seriously incomplete.
Networks. Weirdly, there is no list of falsehoods programmers believe about html (or at least a fast search didn't turn anything up). Don't trust the words in the url.
Distributed computing Build systems.
Poem about character conversion.
I got started on the subject because of this about testing your code, which was posted by Andrew Ducker.