public static void Array <T>(ref T[] array)
 => Internal.CollectionDrawers.Array(ref array, (item, i) => Drawers.Draw(item));
 public static bool Array <T>(GUIContent label, ref T[] array, T defaultValue, bool foldout)
 => Internal.CollectionDrawers.Array(label, ref array, defaultValue, foldout,
                                     (item, i) => Drawers.Draw(item));
 public static void List <T>(List <T> list)
 => Internal.CollectionDrawers.List(list, (item, i) => Drawers.Draw(item));
 public static bool List <T>(GUIContent label, List <T> list, T defaultValue, bool foldout)
 => Internal.CollectionDrawers.List(label, list, defaultValue, foldout,
                                    (item, i) => Drawers.Draw(item));
 public static void Dictionary <TKey, TValue>(Dictionary <TKey, TValue> dictionary)
 => Internal.CollectionDrawers.Dictionary(dictionary,
                                          Drawers.Draw,
                                          (_, value) => Drawers.Draw(value)
                                          );
 public static bool Dictionary <TKey, TValue>(GUIContent label, Dictionary <TKey, TValue> dictionary,
                                              TKey defaultKey, TValue defaultValue, bool foldout)
 => Internal.CollectionDrawers.Dictionary(label, dictionary, defaultKey, defaultValue, foldout,
                                          Drawers.Draw,
                                          (_, value) => Drawers.Draw(value)
                                          );