The pattern-matching-oriented pure functional programming language Egison. We can express non-linear pattern-matching against unfree data types intuitively.