fix bug spotted by david where a type could enumerate itself