Solidity 0.4.11 with optimizations.
Every item of content stored on Link has a content type. Examples of potential content types are tweets, comments, blog posts, media metadata and user profiles.
Link has a hierarchical system of content types. There is a root content type that all other content types are derived from.
Each content type is identified by an integer, the typeId. The typeId for each content type is issued by the Type Registry smart contract. The typeId of the root content type is 0.
When creating a new content type, the addContentType() method must be called.
parent must be the typeId of the content type that the new one is extending.
uri should be a link to an immuntable commit in a repo that is forked or branched from the URI of the parent content type.