Overly Complex Variable Types

I would like to see a rule that identifies overly complex variable types.

Example:
Map<Id, Map<Id, Map<Id, Map<Id, Id>>>> mapOfAMapOfAMapOfAMap; // Dora the Explorer wrote this

A map of a map would be acceptable, but anything beyond that is too complex to be readable and the developer should create an Object class.