The Science of Programming/SwayPresentations/Objects/right
function right(items) { var slots = items . constructor . parameters; var lhs = slots[0]; var rhs = slots[1];
if (type(items . (lhs)) == :OBJECT && items . constructor == items . (lhs) . constructor) { var x = items . (lhs); items . (lhs) = x . (rhs); x . (rhs) = items; right(x); } else { items; } }