docs: def save(self):
          """ Saves prefs to disk in dict format """
          fpath = self.get_fpath()
          if fpath in ['', None]:
              if self._tree.parent is not None:
                  if VERBOSE_PREF:
                      print('[pref.save] Can my parent save me?')  # ...to disk
                  return self._tree.parent.save()
              if VERBOSE_PREF:
                  print('[pref.save] I cannot be saved. I have no parents.')
              return False
          with open(fpath, 'wb') as f:
              print('[pref] Saving to ' + fpath)
              pref_dict = self.to_dict()
              pickle.dump(pref_dict, f, protocol=2)  # Use protocol 2 to support python2 and 3
          return True