As far as I can tell this is an accurate simulation of the problem. We have two things, coins or children, which have a 50:50 chance of being one value or another. We are told one combination of values isn't the case, so we discount them from the simulation. We then use the frequency of the target combination to approximate its probability. We haven't added any artificial ordering into the problem.
I know it's not well argued logical reasoning, but it supports the articles approach. Can you point out where I tripped up in the simulation?
[1] Of course I didn't actually sit there flipping coins. I wrote a program to do it. (let [sample-size 10000000] (/ (get (frequencies (take sample-size (filter #(not= % [:girl :girl]) (repeatedly #(vector (rand-nth [:boy :girl]) (rand-nth [:boy :girl])))))) [:boy :boy]) sample-size))