Spl, ArrayObject, ArrayObject :: STD_PROP_LIST

Estoy tratando de entender la constante STD_PROP_LIST en la documentación pero hasta ahora no la entendí, y no encontré ninguna explicación :( La documentación tiene el siguiente ejemplo:

$a = new ArrayObject(array(), ArrayObject::STD_PROP_LIST);
$a['arr'] = 'array data';                             
$a->prop = 'prop data';                               
$b = new ArrayObject();                                   
$b['arr'] = 'array data';                             
$b->prop = 'prop data';                               

// ArrayObject Object                                     
// (                                                      
//      [prop] => prop data                               
// )                                                      
print_r($a);                                              

// ArrayObject Object                                     
// (                                                      
//      [arr] => array data                               
// )                                                      
print_r($b);

Ambas impresiones me dan el mismo resultado exacto:

ArrayObject Object ( [prop] => prop data [storage:ArrayObject:private] => Array ( [arr] =>      array data ) ) 
ArrayObject Object ( [prop] => prop data [storage:ArrayObject:private] => Array ( [arr] => array data ) )

Cualquiera podría ayudarme a comprender cuál es la diferencia entre usar esta constante o no.

¡Gracias por adelantado!

Respuestas a la pregunta(1)

Su respuesta a la pregunta