gi: support union methods