Considering DM is written in C++ and C++'s
std::string supports operations for directly altering the state of a string, I think the addition of a mutable string datum -
StringBuilder or
StringBuffer, perhaps? - would be nice. Currently, strings in DM are immutable, and thus cannot efficiently do
repeated string operations such as concatenating, splitting text, reversing strings, etc, without allocating some memory, and it would make problems such as these(
http://www.byond.com/forum/?post=105170&hl=string%20memory,
http://www.byond.com/forum/?post=195101&hl=string%20memory,
http://www.byond.com/ forum/?post=1315764&hl=string#comment5450384 ) trivial.
EDIT: An example.
var StringBuffer/foo
// Create a new mutable string
foo = new("Hello, world!")
// Operations that can be performed on the string, either through getters/setters or operator overloading
foo + someString
foo.add(someString)
// Checks if the string buffer is empty
foo.empty()
// Clears the string buffer.
foo.clear()
// Self-explanatory.
foo.length() or length(foo)