Higher-kinded types in Pure Scala (www.reddit.com)