Added support for recursive type.