Another angle to look at these topics: - A lot of embedded work can be reduced to MMIO operations; that is the fundamental unit of abstraction that is too low for most non-embedded code - Computer logic available in rust core is standard. Loops, if statements etc, that determine what you're trying to do with the MMIMO - There are rails you can use that are unique to rust that reduce the chance of certain category of error - You can use point 3 as a tool when convenient, vice something dogmatic