Updates to CLS

Featuring:
- Literal-based singleton types (enables a bit of dependent types)
- A update to type inference - selections
Known issues:
- Need to resolve if literal-based types would work for higher-order literals as well, and how.