Values of a datatype are boxed. In compiler terminology, such values are
referred to as boxed tagged union. Here is an example that may shed some light:
Yes, lists in ATS are the same as singly-linked lists in C.
Compared to lists, arrays certainly can give you more performance.
The rule of thumb for performance is that you get more performance if
you have more "flatness" in your data.
By the way, real-time systems are primarily concerned with responsiveness
(not performance).
Sorry for lack of documentation. I can only be focusing on implementing ATS3
right now :)