Tried union to deal with func_wrapper issue