Recursive Type Extensions