Suppose that would be an even neater option, although it changes the internals of resize() quite substantially, as that only works on the top level Imagick resource. We'd have to do a conditional resize, i.e. from this:

```php
try {
    $this->imagick->resizeImage(
        $size->getWidth(),
        $size->getHeight(),
        $supportedFilters[$filter],
        1
    );
} catch (\ImagickException $e) {
    throw new RuntimeException(
        'Resize operation failed', $e->getCode(), $e
    );
}
```

To this:
```php
try {
    if ($this->layers()->count() > 0) {
        $this->layers()->coalesce();

        foreach ($this->layers() as $frame) {
            $frame->resize($size, $filter);
        }
    } else {
        $this->imagick->resizeImage(
            $size->getWidth(),
            $size->getHeight(),
            $supportedFilters[$filter],
            1
        );
    }
} catch (\ImagickException $e) {
    throw new RuntimeException(
        'Resize operation failed', $e->getCode(), $e
    );
}
```

Now, if I'm perfectly honest - I reckon this would actually improve ease of use of Imagine but it's also a breaking change, as that would have the unintended effect of doing it for non-animated multi-layered images too. So I'm not sure this is the best solution. It would complicate dealing with formats other than animated GIFs.