add function about guards, and pattern matching both for variables and function