changed implementation of attributes in astNodes to be compatible with non-comparable objects