basic support for symbols
use a symbol class

to enable robust checking of the return value type