I am fairly new to Crystal, being a Ruby programmer for many years. One of the main reasons that I looked at Crystal is that it is so Ruby-like, and that means I can port existing quite a bit of Ruby code relatively easily. I have a concern when there is serious talk about making Crystal less Ruby-like. And that includes talk about removing Symbols.
Ruby programmers are encouraged to use Symbols as hash keys rather than Strings. This is not only for performance, but also for program readability. These port over to Crystal in some cases only - they fail when the keys come from outside the program and need to be converted from Strings. As pointed out by others, Crystal also has Enums which can be used in a very similar way to how Symbols currently work, except that you have to define them (which can be a good thing). Partly because of this, some people on this forum have suggested that Symbols be removed completely from Crystal. I think that would be a bad idea.
What I would much rather see is that Symbols be implemented more like they are in Ruby. That includes implementing String#to_sym. Crystal has StringPools which seem to work in much the same way, but are far uglier to use. Although the performance of Symbols would then probably not be much different than using Strings, there would be better Ruby compatibility. People who want ultimate performance can use Enums. Perhaps StringPools could then be removed instead?