add test for a recursive type definition