It does, but PHP checks exact parameter types:

```
PHP Fatal error:  Declaration of Sylius\Component\Core\Promotion\Action\AddProductAction::execute() must be compatible with Sylius\Component\Promotion\Action\PromotionActionInterface::execute(Sylius\Component\Promotion\Model\PromotionSubjectInterface $subject, array $configuration, Sylius\Component\Promotion\Model\PromotionInterface $promotion) in /home/umpirsky/Projects/sylius.dev/src/Sylius/Component/Core/Promotion/Action/AddProductAction.php on line 28
```