code: def save_ufunc(self, obj):
          
          name = obj.__name__
          numpy_tst_mods = ['numpy', 'scipy.special']
          for tst_mod_name in numpy_tst_mods:
              tst_mod = sys.modules.get(tst_mod_name, None)
              if tst_mod and name in tst_mod.__dict__:
                  return self.save_reduce(_getobject, (tst_mod_name, name))
          raise pickle.PicklingError('cannot save %s. Cannot resolve what module it is defined in'
                                     % str(obj))
docs: Hack function for saving numpy ufunc objects