S.I/Lisp/

TYPESTRING




=TYPESTRING(1)
-> "Number"

=TYPESTRING(TRUE)
-> "Boolean"

=TYPESTRING("What is love?")
-> "String"

=TYPESTRING(#REF!)
-> "Error"

=TYPESTRING(A1:A3)
-> "Range"
        



            
DEFINE(
    TYPESTRING,
    LAMBDA(
        input,
        [recursive],
        SWITCH(
            TYPE(input),
            1,
                "Number",
            2,
                "String",
            4,
                "Boolean",
            16,
                "Error",
            64,
                IF(
                    DEFAULT(recursive, FALSE),
                    MAP(
                        input,
                        LAMBDA(
                            each,
                            TYPESTRING(each))),
                    "Range"),
            128,
                "Function",
            OTHERWISE,
                "Unknown")))
        
        



Help us optimize this function