put options in __proto__ reduces obj allocation & reduces merge overhead
re-instate required attr check
Merge pull request #65 from twitter/efficient_merging

Efficient merging