SYNOPSIS
        string|bytes max(string|bytes arg, ...)
        string|bytes max(string|bytes *arg_array)

        int|float    max(int|float arg, ...)
        int|float    max(int|float *arg_array)

DESCRIPTION
        Determaxe the maximum value of the <arg>uments and return it.
        If max() is called with an array (which must not be empty) as only
        argument, it returns the maximum value of the array contents.

EXAMPLES
        max(1)                     - returns 1
        max(1, 1.1)                - returns 1.1
        max("foo", "bar")          - returns "foo"
        max( ({ "foo", "bar" }) )  - returns "foo"

HISTORY
        Introduced in LDMud 3.2.9.

SEE ALSO
        min(E)
