function parse(string|int $id): User|null {
return User::find($id);
}
// PHP 8.0 також додав: int|string, float|int, тощо
// Спеціальні: mixed, never, void
interface Serializable {}
interface Loggable {}
function process(Serializable&Loggable $obj): void {
// $obj гарантовано реалізує обидва інтерфейси
}
Disjunctive Normal Form — комбінація union і intersection: (Serializable&Loggable)|null.