fix "property.map() should produce a Property"; refactoring