<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def lazy_elemwise_func(array, func, dtype):
 """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. """

    if isinstance(array, dask_array_type):
        return array.map_blocks(func, dtype=dtype)
    else:
        return _ElementwiseFunctionArray(array, func, dtype)