Handle inherited models

Types, properties and deep types were lost previously when a HyperModel was
extending another HyperModel.