matcher: cleanup, pass errors through, etc.