title: Switch + Enum = Not all code paths return a value
body: <p>I'm just curious why this code...</p>
  
  <pre><code>    enum Tile { Empty, White, Black };
      private string TileToString(Tile t)
      {
          switch (t)
          {
              case Tile.Empty:
                  return ".";
              case Tile.White:
                  return "W";
              case Tile.Black:
                  return "B";
          }
      }
  </code></pre>
  
  <p>Throws that error. It's not possible for <code>t</code> to take on any other value, is it? Shouldn't the compiler be clever enough to figure that out?</p>