code: def lazy_elemwise_func(array, func, dtype):
      
      if isinstance(array, dask_array_type):
          return array.map_blocks(func, dtype=dtype)
      else:
          return _ElementwiseFunctionArray(array, func, dtype)
docs: Lazily apply an element-wise function to an array.
  
      Parameters
      ----------
      array : any valid value of Variable._data
      func : callable
          Function to apply to indexed slices of an array. For use with dask,
          this should be a pickle-able object.
      dtype : coercible to np.dtype
          Dtype for the result of this function.
  
      Returns
      -------
      Either a dask.array.Array or _ElementwiseFunctionArray.