Not to put too fine a point on it, but this is expression, not abstraction. Abstraction implies making distinct things common, like an I/O module that works for different microcontrollers. The bits described here are an 1:1 binding into Rust.
Still interesting tho ⁼\^^/⁼