custom type
Includes #2 (closed) but extends it. After discussion, we agreed on type
should accept "non-trivial" types (those that can be directly converted from the node) apart from the "derived" case.
"derived" accepts all types (it will load the schema corresponding of the type specified by the user) and will also check for the schema specified in "base".
But in this case, we should be able to force an specific non-trivial type. Now, this is done using "follow" but this directly appends the content. The new implementation would be more flexible since we can specify an optional item, but with mandatory entries in the case of inputing the item.