fix two minor bugs: matches can be empty, and fns have angle-brackets around their lifetime parameters
added special treatment for shebang comments