Return the number of components that this value has.
Return the number of components that this value has. Should be greater than or equal to zero.
Return a sequence containing the components of this value.
Return a new value constructed from the given original value and the given new components.
Return a new value constructed from the given original value and the given new components. In most cases, the new value should be of the same type as the original with the new components, but this is not required. This method should throw an IllegalArgumentException if any of the components are not appropriate (e.g., there is the wrong number of them or they are of the wrong type).
Helper function that can be called by implementations of reconstruct to report an error.
Helper function that can be called by implementations of reconstruct to report an error. desc is a description of the structure that was being constructed, argtypes is a string describing the expected types of the arguments and args is the argument array that was provided. An IllegalArgumentException containing a description of the problem is thrown.
Types that implement this interface can be rewritten using the methods of Kiama's Rewriter library. Implementing this interface is not necessary if the type implements Product (which automatically includes all case class instances and case objects).