A struct of the following: { int args; <- number of arguments needed, can range from 0 to 6 word_32 level1; <- Level 1 argument type word_32 level2; <- Level 1 argument type word_32 level3; <- Level 1 argument type word_32 level4; <- Level 1 argument type word_32 level5; <- Level 1 argument type word_32 level6; <- Level 1 argument type } Each 'leveln' is a hexadecimal digit representing an object type, as shown in the table below. Each entry in the table corresponds to a bit in the long. This is to accomidate USER RPL keywords, which can handle more than one type of argument, or SYSTEM RPL keywords which have their own DISPATCH methods. The following table shows the hex digit values for each argument type. The column "# name" shows the object pointer name for the corresponding binary integer that may be used for a single argument function. Value Bit Argument # name User TYPE ----- --- ---------------- ------ --------- 0 0 Any Object any 1 1 Real Number real 0 2 2 Complex Number cmp 1 4 3 Character String str 2 8 4 Array arry 3,4 10 5 List list 5 20 6 Global Name idnt 6 30 7 Local Name lam 7 80 8 Secondary seco 8 100 9 Symbolic symb 9 200 10 Symbolic Class sym 6,7,9 400 11 Hex String hxs 10 800 12 Graphics Object grob 11 1000 13 Tagged Object TAGGED 12 2000 14 Unit Object unitob 13 4000 15 ROM Pointer 14 8000 16 Binary Integer 20 10000 17 Directory 15 20000 18 Extended Real 21 40000 19 Extended Complex 22 80000 20 Linked Array 23 100000 21 Character 24 200000 22 Code Object 25 400000 23 Library 16 800000 24 Backup 17 1000000 25 Library Data 26 2000000 26 External object1 27 4000000 27 External object2 28 8000000 28 External object3 29 10000000 29 External object4 30