A version of methods lists that has been ‘linearized’
  for producing summary information.  The actual objects from class
  "MethodsList" used for method dispatch are defined recursively
  over the arguments involved.
The function linearizeMlist converts an ordinary methods
  list object into the linearized form.
methods:Object of class "list", the method
      definitions.
arguments:Object of class "list", the
      corresponding formal arguments, namely as many of the arguments
      in the signature of the generic function as are active in the
      relevant method table.
classes:Object of class "list", the
      corresponding classes in the signatures.
generic:Object of class "genericFunction";
        the generic function to which the methods correspond.
The current version of linearizeMlist does not take advantage of
  the MethodDefinition class, and therefore does more work for less
  effect than it could.  In particular, we may move to redefine both the
  function and the class to take advantage of the stored signatures.
  Don't write code depending precisely on the present form, although all
  the current information will be obtainable in the future.
Function linearizeMlist for the computation,
  and class '>MethodsList for the original, recursive
  form.