6.1 Meditate on good library design6.2 Do one thing, do it well, and do it correctly6.3 Avoid excessive abstraction6.4 Stick to basic types6.5 Use the tools6.6 Good artists copy; great artists steal (from the standard library)6.7 Document everything, and provide examples6.8 Don’t break the user’s code6.9 Think of the state6.10 Consider the aesthetics6.11 Examining Rust library ergonomics6.11.1 Revisiting linked lists6.11.2 Using rustdoc to improve our API design6.11.3 Improving our linked list with more tests6.11.4 Making our library easier for others to debug