wl_gen functional