Split a function into smaller parts.
Merge multiple functions into one.
Reorder function arguments and/or add bogus arguments
Replace a function call with the body of the called function.
Make a copy of a function.
Generate a random function.