deep type