An attempt to grok type-level programming in Scala