module diamond.core..string;

import std.traits : isSomeString;

TString firstToLower(TString)(TString s)
if (isSomeString!TString)
{
  import std..string : toLower;
  import std.conv : to;

  if (!s)
  {
    return s;
  }

  if (s.length == 1)
  {
    return s.toLower();
  }

  return to!string(s[0]).toLower() ~ s[1 .. $];
}