Type Inheritance in Strongly Typed Genetic Programming