Evaluating a definition happens as follows: The left-hand-side of the definition is considered (the so-called invocation). Based on the tag of the invocation, we know whether we are defining a variable, a function or a table. Click on the call of define_case to know more.