fix #2: stop passing traits objects around: use parametric types

fixes #2