Okay, I'm not getting the hatred of globals, but what about something like this?
$Function: [
function someReservedName(foo, bar, baz)
-- implementation
end
]
? After evaluating the inline snippet, you'd register the function with that reserved name and set that name to nil. It doesn't require a global anything (well, okay, I guess it does for a handful of machine cycles, but eh), and you can immediately validate that the function exists (and possibly even that it has the correct arity).
Oh, would these dynamic SEXPs have access to the rest of the SEXP tree? I can think of some use cases for defining custom conditionals, stuff like that.
EDIT: @X3NO: I like your table spec as well, but I think you overlooked truly varardic SEXPs. How'd I specify something like is-destroyed-delay (which can take a theoretically infinite number of string arguments) or send-message-list (which can take a theoretically infinite number of arguments, but only in a certain pattern)? Maybe a +Repeat: suboption...? If there are fewer $Parameters: than specified in $Max Args:, any +Repeat: parameters are repeated, in order, to fill it out?