4日目 

昨日は、カインドと型について考え、Tagged type を探検して、さまざまな型の 2項演算を抽象化する方法としての SemigroupMonoid をみてみた。

いくつかの感想や意見もいただいた。まず、kind 計算機だけど paulp さんが Option.type みたいにコンパニオン型を使ったらどうかと教えてもらった:

更新したバージョンを使うとこう書ける:

scala> kind[Functor.type]
res1: String = Functor's kind is (* -> *) -> *. This is a type constructor that takes type constructor(s): a higher-kinded type.