public static string spaces(long n)
{
// do an array lookup for reasonable length
// strings since that is the common case
int count = (int)n;
try { return m_spaces[count]; } catch (IndexOutOfRangeException) {}
// otherwise we build a new one
StringBuilder s = new StringBuilder(m_spaces[m_spaces.Length-1]);
for (int i=m_spaces.Length-1; i<count; i++)
s.Append(' ');
return s.ToString();
}