Make Model inherit from upper and lower bound

This undoes commit fb3f4067a7810a936ae733f1409efb9caa4734f5