If you have read any of my getting started with Umbraco guides, then you'll know that I recommend and favor using strong types objects with Umbraco.  As Umbraco doesn't allow you to work with strongly-typed objects out-of-the-box, you'll need to use a third-party package, or write something yourself.

I recommend looking at uSiteBuilder, however, when you work with uSiteBuilder you might run into a few differences.  From my experience, you can run into a few issues when working with uSiteBuilder and unfortunately, it's not that well documented.

One common issue I run into regularly when setting a site up is:

Document type inheritance for document type with 'GuidePage' alias, cannot be updated.'

This generally occurs when you try to rename an existing document types property name that's already being used.  The quick fix, if you can, is to start from a clean database.  This might sound like a pain but it's one of the benefits of using a package like uSiteBuilder, simply cleaning your database and reloading your website will result in all your document types and templates being re-created automatically, well, as long as you have set-up uSiteBuilder correctly.  

If you don't know how to quickly regenerate your database, I recommend reading, How To Create A Clean Umbraco Database?.

If you run into an 'alias, cannot be updated' error and you're using uSiteBuilder, then first, I'd recommend trying to undo any document type changes you may have made. If you really want to make the changes, sometimes it's easier to start with a clean slate, as the project is fairly easy and quick, but on a long-standing project, this might be more involved.