From my view: I started writing e-h-mock when I was starting to write drivers for I2C based sensors. There, a lot of it is reading datasheets, and handling protocol messages in a certain way, often even type conversions, and iterating on a proper driver API. For this task, mocking has been immensely useful, because it allows me to test all edge cases (like I/O errors) for my high-level API. Of course, this doesn't replace real testing (in my case often with linux-embedded-hal). But it's still very useful. When I talk to people who write C drivers, there's usually no automated testing at all, besides the hardware tests. That's a shame, and with e-h we're in an ecosystem where this is easily possible, and it's amazing.