I think there are a few cuts missing in the higher level API. For example there are two turn implementations with the first one using the gyro and the second one using the odometry. Surely we'd want to cut off the rest of the derivation tree if a gyro is connected.
The other implementations needs to be checked as well.