# Generic --- ```text Generic[[TYPE | SYMBOL] TARGET; Collection[VAR_TREE_LIST; TYPE.SYMBOL]] ``` ## Type Body Object Definitions ```c typedef struct { kpl_type *target, *var_tree, *var_list; kpl_identifier identifier; } kpl_type_body_generic; ``` # Example ```text ints : Set[I64] $ () /* ints -> Name[[DATA] Var[[LOCAL] Generic[[TYPE] REF_SET; Var[[GENERIC] REF_I64; T]; ints]; ints] REF_SET -> Name[[ALIAS] Map[Generic[[SYMBOL] T]; Void]; Set] REF_I64 -> Name[[Alias] Bit[[BIT64 | INT_SIGNED]]; I64] */ floats : Array[F64] $ () /* floats -> Name[[DATA] Var[[LOCAL] Generic[[TYPE] REF_ARRAY; Var[[GENERIC] REF_F64; T]; floats]; floats] REF_ARRAY -> Name[[ALIAS] Buffer[[TYPE] Generic[[SYMBOL]; T]; Array] REF_F64 -> Name[[Alias] Bit[BIT64 | FLOAT]; F64] */ ```