···2828- avoid barrel exports (index files that re-export from other modules); import directly from source
2929- use `// #region <name>` and `// #endregion` to denote regions when a file needs to contain a lot
3030 of code
3131+- prefer required parameters over optional ones; optional parameters are acceptable when:
3232+ - the default is obvious and used by the vast majority of callers (e.g., `encoding = 'utf-8'`)
3333+ - it's a configuration value with a sensible default (e.g., `timeout = 5000`)
3434+- avoid optional parameters that change behavioral modes or make the function do different things
3535+ based on presence/absence; prefer separate functions instead
3636+- when adding optional parameters for backwards compatibility, consider whether a new function with
3737+ a clearer name would be better
31383239### documentation
3340