A Library for pattern matching in C#