[WIP] Solver optimizations

- Literals on rule are now public: A reduction of ~500k function calls for packagist composer
update (~14 million total).
and you should document why it is public (performance optimization) and that it should be treated as being read-only