letis lazy, runs when it's invokedlet!are not lazy, runs immediately when the block is executedbeforeblocks are also not lazy, has same precedence aslet!
For let! and before blocks, they execute based off source code order since it has the same precedence.