# Principles of developing robust applications
Kotlin edition
[TOC levels=2-6]
## Making illegal state unrepresentable
### Union types
### Validate at the boundary
### Null handling
### Enumerating all cases
### Specific types with value classes
## Exceptions and how to handle them
## Logging
## Memory usage