S.I/Lisp/

PICK




=PICK(
   "Eeny",
   "Meeny",
   "Miny",
   "Mo") 
-> "Miny"

=PICK(
   "Eeny",
   "Meeny",
   "Miny",
   "Mo") 
-> "Eeny"
        



DEFINE(
    PICK,
    LAMBDA(
        _1, [_2], [_3], [_4], [_5],
        [_6], [_7], [_8], [_9], [_10],
        [_11], [_12], [_13], [_14], [_15],
        [_16], [_17], [_18], [_19], [_20],
        [_21], [_22], [_23], [_24], [_25],
        LET(
            count,
                SUM(
                    IS(_1), IS(_2), IS(_3), IS(_4), IS(_5),
                    IS(_6), IS(_7), IS(_8), IS(_9), IS(_10),
                    IS(_11), IS(_12), IS(_13), IS(_14), IS(_15),
                    IS(_16), IS(_17), IS(_18), IS(_19), IS(_20),
                    IS(_21), IS(_22), IS(_23), IS(_24), IS(_25)),
            CHOOSE(
                RANDBETWEEN(1, count),
                _1, _2, _3, _4, _5,
                _6, _7, _8, _9, _10,
                _11, _12, _13, _14, _15,
                _16, _17, _18, _19, _20,
                _21, _22, _23, _24, _25))))
        



Help us optimize this function