To me, this code is illustrating that "." and "!" should have their meanings reversed. "b!l" and "b!r" in arc would map to "b.l" or "b.r" in python, while "b.side" in arc, is something more akin to "b.getattr(side)"
Ofcourse, swapping the meanings of ! and . puts a cramp in syntax like "b.0"...