what each switch does back to the preset
layout Readable layout Lays functions out as reads best, not padded or packed onto their original lines.
Paragraph breaks Adds a blank line between the steps of the code.
Field functions Writes a table of keyed functions as local t = {} and a function t.k() per function.
notes Function line numbers Under the readable layout, ends each function's first line in the line it was defined on.
Upvalue notes Says on each function's first line which outer variables it captures, and whether it sees their later changes.
Upvalue notes on own line Puts the upvalue note on a line of its own under the function's first line.
names & types Inferred types Adds the type annotations inference concludes, beside the input's own.
Model names Names the values the input left unnamed, never with a name that could change the program.
Const locals Declares a local nothing assigns again as const.
shorter code Fold constants Writes a computation on literals as its value: 7 for math.max(4, 7).
Drop dead code Leaves out values nothing reads and branches that never run.
Compound assignment Writes x op= e wherever it means the same thing.
Inline small calls Writes a call of a small local helper as the helper's body.
Roll up loops Writes lines repeated with 1, 2, 3 in them as the for loop that runs them.
Math constants Writes a number the math library computes as that expression: math.pi / 2 for 1.5707963267948966.
Mutable globals Writes game.Players for (game).Players, as scripts compiled with those globals mutable read them.
control flow Positive conditions Tests an if without not, and puts a short exit arm first.
Early returns A function that ends in one big if returns early instead.