since you referred to this thread, i might as well reply here.
I think this Infinite example is confusing.
We can easily split concrete backends, but you are making abstract backends for specific devices. Can you clarify?