Why can't &String be de-referenced

I hope you can give a detailed explanation of 'reference' and 'dereference'

Could you be more specific about what you want to know? If you have a piece of code that causes a compiler error or behaves unexpectedly, posting that will let us help you more effectively.

The type &String can certainly be dereferenced, so I suspect your underlying issue is something different.