make sure data is non-primitive at init
throw error on truthy primitive data instead of replacing it with an empty object
Merge pull request #1212 from evs-chris/gh-1208

throw error on truthy primitive data at init
fixes #1208