The amount of expensive dynamic code can be reduced if the type of the message objects is known. The type information can be given to the system either (1) by using reflection explicitly, or (2) by specifying the type of the message objects by name. The type information enables the application of optimizations.