public void UpdateReturnType()
 {
     if (!_ret_type_generated)
     {
         type_node tn = _functions[0].return_value_type;
         int       i  = 1;
         while (i < _functions.Count)
         {
             if (_functions[i].return_value_type == tn)
             {
                 ++i;
             }
             else
             {
                 break;
             }
         }
         if (i == _functions.Count)
         {
             return_value_type = tn;
         }
         else
         {
             _ret_type_generated = true;
             return_value_type   = new indefinite_type_node();
         }
     }
 }
 public indefinite_definition_node(string node_name, type_node connected_class)
 {
     _name             = node_name;
     _cont_class       = connected_class;
     return_value_type = new indefinite_type_node();
 }