Higher Order Patterns for Scala