Contents Variable bindings The let keyword Type annotation Uninitialized variables Throwing values away Shadowing bindings Tuples Destructuring tuples Statements Functions Blocks Blocks are expressions Implicit return Everything is an expression Field access and method calling Modules, use syntax Types are namespaces too The libstd prelude Structs Struct update syntax Destructuring structs Pattern