How do Blocks' shapes indicate their roles in programming? - VEXcode V5 Blocks

VEXcode V5 Blocks are puzzle-piece shaped blocks that connect above or below each other and are used to program. A series of connected blocks is called a stack. There are five different shapes of blocks and each shape tells you about its role in the program.

Block Shape Description Block Examples
Hat blocks Start a stack of blocks and are shaped to attach blocks below them.
Stack blocks Perform main commands. They are shaped to attach above or below other stack blocks.
Boolean blocks Return a condition as either true or false and fits inside any blocks with hexagonal (six-sided) inputs for other blocks.
Reporter blocks Report values in the form of numbers and fits inside any blocks with oval inputs for other blocks.
C blocks Loop the block(s) within them or checks if a condition is true or false. They are shaped to attach stack blocks above, below, or inside them.