# Code Design ## Brief sketch General architecture/idea from previous project - Will work very hard to make less bloated though, no unnecessary features Although there are a few style differences: - More generics / autoderiving - Language extensions - in alphabetical order - Imports - Treescript in alphabetical order, then others in alphabetical order - Qualified imports always have shortest non-conflicting qualifiers, no special differences for "main" imported class (e.g `Text` in `Data.Text`) - Try to put small functions above big functions in modules - still order is datatypes, classes, instances, and functions - Modules can be bigger, but they'll still be split when too big (overall module structure still shouldn't matter much) - generally 100 lines isOK, 200 or 300 in some cases OK too