I think this will crash if you compare two default constructed `PropertyArrays` with undefined `_value`.  I'd also move the length check inside `Property.arrayEquals` and then I don't think you need the `_length` property at all.

Same comments for `PositionPropertyArray`.