precompute the string length wherever possible
loop upwards
cleanup: merge se_ms() and se_string() since they do exactly the same thing
no more "common body" :-)