Fixtype of function environments.
This is a list of function scopes, which represents a stack; the stack grows leftward, i.e. push is cons, pop is cdr, and top is car. A function scope is pushed when entering a block, and it is popped when exiting the block. This needs to be a stack because Yul functions are statically scoped: when a function later in the stack calls a function earlier in the stack, the stack must be shrunk so that the called function has access only to the functions that are statically in scope, not the functions in inner blocks that the caller has access to.
[Yul: Specification of Yul: Formal Specification] does not explicitly mention any notion of function environments, but their presence is implicit in the description of the scope of function definitions.