<?php
interface A_inner_i { public function bar(); }
class A_inner implements A_inner_i { public function bar() {} }
abstract class B_inner_i { public abstract function bar(); }
class B_inner extends B_inner_i { public function bar() { 1+1; } }
class B { public function foo(B_inner_i $b) { $b->bar(); } }