Cornan's suggestion to inherit parent type only for new children is interesting, it would overcame Zenrain's observation about conflict with multiple parents.Thanks and regards,
Anyway, the truth is that a thought could be rewarded as a particular type depending on the related thought (the observer) or mainly, on the relationship with it.
So, for istance, if you are describing a company, a human resource can be classified according to his role in the company or his contract, i.e. executive, employee, labourer , etc. or according to his role in the project, i.e. engineer, manager, buyer, etc.
So if the thought 'John' is related to 'Mark' as child through the type link 'company hierarchy', he could be seen as 'employee' type and Mark as 'executive'; at the same time he could be child of 'Anthony' through the type link 'project hierarchy' and could be seen with the type 'engineer', while Anthony could be seen with type 'project manager', etc.
So one solution is not to use types, but including John as child of parents 'engineers' and 'employees'; anyway this would obscurate John's roles as related to the structure you're interested (company/project hierarchy).
Another solution is to allow more types for each thought, each to be assigned to a link.
When a thought is selected, its linked thoughts are represented in the plex only with the type associated to their current link with the selected thought; the selected thought with a generic 'multiple type' colour. When the mouse is over a link, the related types are underlined on the pinned thoughts.
Moreover, a new filter based on the link type could point out the sub-plex pertaining to the filtered type (i.e. company hierarchy) and so the thoughts would be shown enlighting the type congruent with their relationships.
How do you think it?