Scala type level utilities which anyway will be erased during compilation