More docs in puyo/ai.py