>>as well as more elegantly in my opinion >> >>X.a().b().c(); >> >> > >The latter, IMHO, is semantically bogus. But that's just a matter of >opinion, of course. > > hmm ... ctx.scale(2,1) .rotate(Math.PI/4) .translate(4,-6); illustrates a sequence of manipulations semantically very well, doesn't it?