Not sure whether /world is even a possible candidate for being turned into a /datum, since it's one of those built-in types you can't do much with (only declare procs on), unlike datums. The same applies for types with similar restrictions. Also, sometimes distinction between datum and 'non-datum' is actually needed (and changing this could be backward-incompatible): you wouldn't typically want datum/New() to run when /world or a /list is created, for example. So maybe the types better actually stay how they are... though it would be interesting to have more control over the non-datum types like /savefile and /list (at least the same amount of control we have over /client, New() and Del() and declaring vars and procs). Besides, the only difference between adding vars to /world and making it a datum is that in the latter, /world would get a bunch of extra vars that are useless for it (type, parent_type, tag). Well, it would also receive Read()&Write(), which may or may not work with it (and are only a slight plus). |
|