Cheers. I guess you could call it an internal DSL, but I wouldn't call it an interpreter - all it's manipulating is the arguments object, it doesn't manipulate any strings. I'm sure string manipulation isn't the only thing that identifies an interpreter, but it doesn't seem like that to me.