new feature: cmake can now be configure with "TYPES_ONLY_NEEDED" resulting in the lowest possible number of types
relates to #103 #101