begin support for nested types and instance caching.