code: public static function printSafe($var)
      {
          if ($var instanceof Type) {
              return $var->toString();
          }
          if (is_object($var)) {
              if (method_exists($var, '__toString')) {
                  return (string) $var;
              }
  
              return 'instance of ' . get_class($var);
          }
          if (is_array($var)) {
              return json_encode($var);
          }
          if ($var === '') {
              return '(empty string)';
          }
          if ($var === null) {
              return 'null';
          }
          if ($var === false) {
              return 'false';
          }
          if ($var === true) {
              return 'true';
          }
          if (is_string($var)) {
              return $var;
          }
          if (is_scalar($var)) {
              return (string) $var;
          }
  
          return gettype($var);
      }
docs: @param Type|mixed $var
  
  @return string