- What variables are needed?
- How many loops and what kind?
- Any built-in methods that can help?
- What edge cases?
- Can helper functions be extracted or abstracted?
- As input grows, how will functions perform?
- Should there be some kind of caching mechanism?
- How much memory should be sacrificed for performance gains?
- Can you curry to deparametrize?
- Can you keep functions pure?