An Iterator implementation in Scala making use of abstract type members and mixins.