Although `offsetSet` is supposed to be an alias to `attach`, real-world results do not indicate that. When extending the SplObjectStorage class, it's expected that a modification to `attach` would also affect `offsetSet`. However, it seems they need to both be extended. Consider the results below...<?phpdeclare(strict_types=1);class CustomSplObjectStorage extends SplObjectStorage{ public function offsetSet(mixed $object, mixed $info = null): void { print("offsetSet called\n"); parent::offsetSet($object, $info); } public function attach(mixed $object, mixed $info = null): void { print("attach called\n"); parent::attach($object, $info); }}$a = new CustomSplObjectStorage();$a[new stdClass()] = 'ok';$a->attach(new stdClass(), 'ok');?>This prints:```offsetSet calledattach called```While we would expect...```offsetSet calledattach calledattach called```... if `offsetSet` was a true alias of `attach`. I'm not sure if this is intentional or not.