Parameter type widening in 7.2

A child class could never remove a parameter type from a method it overrides, even though accepting more than the parent is safe by the same rule that lets a return type be narrowed. 7.2 allows the omission.

class Repository
{
    public function save(Model $model) { /* ... */ }
}

class FlexibleRepository extends Repository
{
    public function save($model) { /* accepts anything — legal in 7.2 */ }
}

This is a migration aid rather than a design tool: it exists so a library can add types to a base class without breaking every implementation downstream. Using it deliberately produces a subclass with a weaker contract than its parent, which is legal and is exactly the thing type hints were added to prevent.