Update optimization plan to focus on type-safe improvements only
Removed unsafe optimizations:
- NaN boxing (loses type safety, requires Obj.magic)
- Array.unsafe_get (skip bounds checking)
- Manual memory manipulation
Kept safe optimizations:
- Inline annotations for hot paths
- Pre-sized array allocation with capacity tracking
- Atom table for string interning
- String ropes for concatenation
- Shape system for shared property descriptors
- Handler array dispatch for bytecode
- Inline caching with safe bounds checks
All optimizations maintain OCaml's type safety guarantees.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>