which is much clearer - the user can see in rustdoc which kinds of memory this library is designed for - the lib author has one clear model for each, not one complex thing with everything mixed - if the user has a lib that was designed for NOR flash and wants to use it in an EEPROM they can still do it by using an "eeprom to fake nor flash" adapter that fakes erases etc. This makes it work but makes it clear perf will be suboptimal