Property
return all properties, including the ones derived from ancestors
var allProperties: [Property] { get }