opaque types

Scala Valentines #5, Part 2