GENERIC all the THINGS