The match most people use is match.scm by Alex Shinn, which can be found here:<p><a href="http://synthcode.com/scheme/match.scm" rel="nofollow">http://synthcode.com/scheme/match.scm</a><p>It is written in portable scheme and produces code that can easily be optimised. In guile, proper match statement is usually as fast as a hand rolled destructuring.<p>The downside is that it is not extensible by user code, but that can be implemented if you convert the match-two macro to something like a syntax case macro.