Internally the kernel deals with several classes of data. Some are exposed as the Asymptote language (primitives, builtins) and some are implementation detail (signature, function, list of formal params, etc.)
Language Types
How Asymptote types are implemented.
Primitives, etc.
The file "primitives.h" contains a list of the primitive datatypes wrapped in a preprocessor macro; e.g. PRIMITIVE(boolean,Boolean,bool). The three args are, in order, the internal name, used in the kernel c++ code; the same name capitalized (why?); and finally the name as exposed externally, i.e. in Asymptote. The exposed name is generally the same as the internal name, except for: boolean => bool, Int => int, and picture => frame.
"Int" is a typedef used internally to hide the difference between long long, long, and ordinary int - the longest available is used depending on the platform. See common.h
Frames
Paths and Guides
Implementation Types
Various internal types