Open
Description
It's common to want simple names for transformer stacks, eg.,
type OptionalWork[T] = OptionT[Work, T]
Type aliases are somewhat second class in Scala however. In particular they don't have proper companion objects, and objects of the same name aren't searched for corresponding implicit definitions.
If transformers were non-final it would be possible to define a trait rather than a type alias,
trait OptionalWork[T] extends OptionT[Work, T]
In which case a useful companion object would be a possibility.