implement new object safety rules

r? @nikomatsakis