Added :type discriminator for catigorical inheritance & :kind enum for sample by flag