public function __toString()
{
$string = $this->asFQSENString();
$template_parameter_string = implode(',', array_map(function (UnionType $type) {
return (string) $type;
}, $this->template_parameter_type_list));
if (!empty($template_parameter_string)) {
$string .= '<' . $template_parameter_string . '>';
}
return $string;
}