The interpreter builtins here are almost extraneous. Why? because the way the interpreter calls existing UnterMUD commands is almost good enough to do anything you'd need to already. The reason for having interpreter builtins at all is because they are much more capable as far as returning values and so forth, and they can be kept separate from user-level commands. To write your own builtins, simply figure out how a node works (see u.h) and take a look at some of the examples. The nodes are crushed into an argument vector at call time, with one being passed as the node into which you can (in fact you MUST!) place a return value. Avoid like the plague duplicating any existing cmd functionality - focus on doing stuff that is hard to do in cmds.