Судя по ошибке, вы объявили operator+
внутри типа, отличного от Symbol
. C # требует, чтобы по крайней мере один из типов, перечисленных в бинарном операторе, был типом, в котором бинарный оператор определен
Обновление
Как указал Эрик, когда декларирующим типом является struct
(названный, скажем, S), тогда один из операндов должен быть S
или S?