And the follow-up article, which discusses the usual objections that programmers have to the original article: http://ansuz.sooke.bc.ca/entry/24 . Particularly noteworthy is a comment from a lawyer that a key misunderstanding among programmers is that in law, the humans and their social interactions are the first-class entities of the system, not second-order distractions as they tend to be in engineering. This was a very enlightening moment for me in my journey towards understanding why the law seems so absurd from a mathematical perspective.