Пустой класс или что увидим на выводе

Что выведет на экран данный код?

<?
class cl{

    var 
$a;
    var 
$b;
    
    function 
cl($value) {
        
$this->$value;
    }
    
    function 
b($b 1) {
        
$this->$b;
        return 
$this->$this->a-$this->b;
    }
};
$a = new cl();
echo 
$a// Выведет 2 ошибки, см. ниже
// Warning: Missing argument 1 for cl::cl(), called in ..\path_to_file\test.php on line 17 and defined in ..\path_to_file\test.phpon line 7
// Catchable fatal error: Object of class a could not be converted to string in ..\path_to_file\test.php on line 4
?>

В итоге получается, что по старому стандарту название функции равно конструктору класса __construct() в более свежих версиях PHP, получаем ошибку, что недостает одного аргумента.
О второй ошибке узнаем из var_dump($a), она выводит object(c)#1 (0) { }.
echo не может преобразовать объект в строку, что приводит к ошибке.