Not currently supported by Psalm (or Hack, or Flow)
function do_algebra() : string {
$a = rand(0, 10) > 5 ? "a" : null;
$b = rand(0, 10) > 5 ? "b" : null;
if ($a === null && $b === null) {
return "all null";
} elseif ($a === null) {
return $b;
} else {
return $a;
}
}