added let, patterns, and guards section