private function badValue($varName, $typeName, $val, $line, $column)
 {
     return new FormattedError(Messages::badValueForDefaultArgMessage($varName, $typeName, $val), [new SourceLocation($line, $column)]);
 }