Nice. But I have to ask when I see this - why not to use Self instead? It seems to me like you will have to do a lot of work just to get where Self already is. If this is didactic tool for students, wouldn't it make more sense to write it as application in Self?