The argument the author makes agrees with my view of linguistics in general.
Undoubtedly there are processing constraints for languages - no-one has found a stack-based human language for example, and almost certainly there isn't one. In the case of phonetics and phonology, the patterns are also driven by the ability of humans to perceive and produce different sounds. And the evidence is that there is almost certainly some kind of basic built-in language faculties, since there are types of brain damage that only seem to affect language use.
But I think that a lot of what gets codified as supposedly universal grammar is simply the product of the interaction between broader biological constraints, the communicative needs of speakers, and the environment, and are more diachronic tendencies than inviolable synchronic rules. What's more, a lot of the assumptions seem to be driven by some sense of theoretical niceness that has no apparent evidential basis whatsoever. For example, as I said in this thread, there seems no reason to assume that humans don't store redundant lexical information rather than applying complex rules in many cases:
http://zbb.spinnwebe.com/viewtopic.php?f=7&t=36507
And some of the current theoretical preferences seem to me to be truly bizarre. Take, for example, the assumption that any feature framework should be binary in nature. I think it's widely recognised that, at least at the phonetic (production) level, there are gradients rather than discrete points. But even if we assume that there is some universal underlying set of discrete points, why this obsession with binary ones?
Take +-high, +-low. These are used in some features to differentiate, say, the front vowels i e a. But this is nonsense, because it is not physically possible to produce a consonant or vowel that is +high +low for most definitions of those features. The only reason for these two features to be separate is because of this insistence on binarity, which is not supported by any evidence whatsoever. A ternary feature would cover exactly the same range of sounds but recognise directly the impossibility of +high +low. This pattern is repeated for other sets of incompatible binary features, such as +constricted glottis / +spread glottis, which should also be a single ternary feature IMO, if we have to have such a feature theory. How can the people creating these theories consistently fake ternary ones in this way without being tempted to take the logical step of combining them?
Exactly the same argument can be levelled against strict binary branching in syntactic theories, and it has been. I particularly enjoyed reading the following book, which argues for grammar based on constructions (essentially templates) which need not be binary:
http://www.amazon.com/Radical-Construct ... 0198299540
In the process, the book strongly attacks the current notions about Universal Grammar.
EDIT: I should say that my sound change applier does not assume binary features, mainly because I don't like the binarity assumption. It has some special syntactic sugar for them, but you can have features with as many potential values as you like (well, up to an architecture/compiler dependent limit of at least 536,870,910, assuming you don't run out of memory before you've defined that many value names).
EDIT EDIT: This book may also be worth reading for arguing against the penchant for binary branching and nulls all over the place, although I found it to be somewhat repetitive and monotonous:
http://www.amazon.com/Syntactic-Relatio ... 0521608295