code: func TreeStoreNew(types ...glib.Type) (*TreeStore, error) {
  	gtypes := C.alloc_types(C.int(len(types)))
  	for n, val := range types {
  		C.set_type(gtypes, C.int(n), C.GType(val))
  	}
  	defer C.g_free(C.gpointer(gtypes))
  	c := C.gtk_tree_store_newv(C.gint(len(types)), gtypes)
  	if c == nil {
  		return nil, nilPtrErr
  	}
  
  	ts := wrapTreeStore(glib.Take(unsafe.Pointer(c)))
  	return ts, nil
  }
docs: // TreeStoreNew is a wrapper around gtk_tree_store_newv().