When using DefaultSiteContent to boot initial data, the import process applies validation per AvailableContentTypes attribute. This should not happen, as the CMS doesn't keep itself in sync with available content types (which is buggy in addition to everything else), plus when you remove a page from being available under another page, it doesn't announce to the user "hey bro, we noticed you have a content type nested under another type which isn't really allowed" - you need to manually remember to sync your content type permissions as well as you won't be aware that there could be a forbidden type until you try to create it. Now this wouldn't be so big of an issue if the content import process was atomic - the trouble is once it fails, you need to empty out your database and shut down IIS express, otherwise you're left with the partially imported DefaultSiteContent.
TLDR:
When setting up initial content with DefaultSiteContent, the entire import process should be either atomic (all content is imported, or none of it is), or it should ignore validation errors.
When using DefaultSiteContent to boot initial data, the import process applies validation per AvailableContentTypes attribute. This should not happen, as the CMS doesn't keep itself in sync with available content types (which is buggy in addition to everything else), plus when you remove a page from being available under another page, it doesn't announce to the user "hey bro, we noticed you have a content type nested under another type which isn't really allowed" - you need to manually remember to sync your content type permissions as well as you won't be aware that there could be a forbidden type until you try to create it. Now this wouldn't be so big of an issue if the content import process was atomic - the trouble is once it fails, you need to empty out your database and shut down IIS express, otherwise you're left with the partially imported DefaultSiteContent.
TLDR:
When setting up initial content with DefaultSiteContent, the entire import process should be either atomic (all content is imported, or none of it is), or it should ignore validation errors.