The expression
list of expressionis simply syntactic sugar for
maps from {1...max(Integer)} to expressionwith the understanding that the list
[`a', `a']represents the mapping
(1, `a')where Undefined is a predefined value not present in any predefined type but Entity.
(2, `a')
(3, Undefined)
(max(Integer), Undefined)
The above definition allows all the normal list operations to act in the expected way, provided that the length of a list is defined to be
max{all n Integer (n) Undefined}
The same syntax and conventions used to define set values can be used to define list values (but using [] instead of {}).