pack is one of many max objects that helps us to format input messages into output lists, a vital part of constructing and controlling many patches. For each element you want in the list, you need to type an argument specifying the type of input (int, float, or symbol) that will be used in that position and the object will generate an inlet for that element.
Many users are initially confused by the difference between pack and pak (the latter is often pronounced "pock" to distinguish between them). With pack only the left output triggers the ouput list, while pak is triggered when input is received in any inlet. This patch modifies the mouse drawing tutorial patch to illustrate the problem with using pak's where you should be using pack's
There are many different ways to put lists together in Max. Here are a bunch of different ways to change the color of a button:
Did you know that pack can send its list directly to any named receive object?
(please list things that you believe to be errors or omissions from the existing refpage)