https://fireflysemantics.medium.com/understanding-the-difference-between-and-expression-and-a-statement-a6d8ab9a895