We recommend import/export throughout - but rather than using a single prelude, 
we build a hierarchy (preludes are kind of ugly in general because they include 
stuff you don't need and often miss stuff you do need)..

<https://status-im.github.io/nim-style-guide/language.import.html> gives some 
detail but basically the idea is that if you compose a type using types from 
other modules, you also export those modules, or you run a significant risk of 
having different behavior of the same type in different modules, specially when 
there are matching overloads (such as often happens for `hash` and similar 
functions).

The end result is that your import lists are generally short and reflect the 
real dependencies of the code which makes it easier to reason about.

Reply via email to