"Ralph Mason" <ralph.mason / telogis.com> wrote in message news:13ef01c1795d$0580a180$0101a8c0 / p3... > I'm not so sure what you are trying to do here. It looks like you are > returning a combination of a class instance and a function. Yes - that is one the issues. I don't even know how this works in an OOP style functional language like OCaml. I don't quite follow your example: > y = x.doit(4) > > z = y.doit(3,5) Now y should hold a function, curried (partially evaluated), but it is not an object with a method doit, it is just a function of one parameter - and a hidden context to its owner. Hence z = y(5) #=> 4 + 5 = 9 But this example doesn't exploit the hidden context. The pure functional view has been covered by Feldt and Splitz. MikkelFJ