Long bit about pattern matching.