perfect type