Pattern Match Analysis for Higher-Order Languages (version 2)