(expand-1 arg (? expander) (? env-mode 'fresh))
  arg: any type
  expander: an expander or #n (optional)
  env-mode: a sym (optional)
  returns an arr

Partially expands a form.

Non-recursively invokes the expansion algorithm for a form, returning after having invoked no more than one macro-expander.

The result is a two-element array which starts with a symbol, one of:

The function will normally attempt to look up the current global or local macro binding for an array's first element. This can be overridden by passing a fn or rfn as the expander argument, which forces that particular expander to be invoked.

For the meaning of the env-mode parameter, see eval.