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; }       }