The Arora Hardware Abstraction Layer.
[Hal] is the boundary to a real (or fake) device — the thing studio-bridge
called a Controller. A HAL reads sensors and reported state, accepts
actuator/state writes, and pushes a feed of changes the hardware makes.
The Arora runtime mirrors a HAL against a
DataStore: HAL updates flow into the store,
store writes flow to the HAL. The HAL trait depends only on arora-types, so
any execution engine can drive it without pulling in the bridge.
Pick an implementation per robot: [FakeHal] here (also the test double),
and the real ones (ros2, restful, nao) in their own sibling crates.