Design# Some notes about how to contribute, and design choices. Protocol How to add a new LM interface Design choices An alternate design Input checks Context managers No string formatting abstractions Repeat docstrings Testing Mistakes were made Pleasant surprises