В Scala вы можете определить параметры, которые происходят от другого, который принимает первый в качестве параметра. Например, в Lift вы можете найти такие вещи в Record and Mapper
MongoMetaRecord[BaseRecord <: MongoRecord[BaseRecord]]
Что это значит и чем это полезно?