better type definition, before parser refactoring
affect / declare generic
yen a marre