add nondegenerates() test that optional properties are propagated