Expr with Pattern matching - initial version