Pattern Guards and Transformational Patterns (2000)

by Martin Erwig, Simon Peyton Jones