Turn a function into a specialized interpreter.
Turn a function into one that generates its code at runtime.
Turn a function into one that continously transforms itself.
Remove control flow from a function.
Split control flow by inserting opaque branches.
Make it harder to determine the target of branches.