Text this: Pattern Matching and Structural Decomposition in Programming Language.