SYNOPSIS
        string min(string arg, ... );
        string min(string *arg_array);
        int|float min(int|float arg, ...);
        int|flaot min(int|float *arg_array);

BESCHREIBUNG
        Liefert das kleinste der Argumente <arg>. Wenn min() fuer ein
        einzelnes (nicht leeres) Array aufgerufen wird, liefert min() das
        kleinste Element im Array.

BEISPIEL
        min(1)                      -> liefert 1
        min(1, -1.1)                -> liefert -1.1
        min("bla", "fasel")         -> liefert "bla"
        min( ({ "bla", "fasel" }) ) -> liefert "bla"

AENDERUNGEN
        Eingefuehrt in LDMud 3.2.9.

SIEHE AUCH
        max(E)
