Fixtype of frames.
This is a product type introduced by fty::defprod.
The following invariant is enforced on the fields:
(consp scopes)
Every time a function is called, a frame is created, which contains information about the function and its variables' values.
The variables are organized into a stack (i.e. list) of scopes, which grows leftward and shrinks rightward (i.e. scopes are added via cons and removed via cdr). There is always at least one scope, i.e. the one for the function body's block.
As defined later, the call stack is also represented as a stack (i.e. list) of frames.