Scalaz6.0.4 で Range の Foldable の instance は供給されないのに、IndexedSeq[Int] に型変えるだけで成功する件

https://github.com/scalaz/scalaz/blob/v6.0.4/core/src/main/scala/scalaz/Foldable.scala

  • しょうがないのかな?
  • まぁ、ほんのちょっとの手間がかかるだけで、実用上それほど大きな問題ではないですが、なんとなく気になったので
  • Scalazを直接いじって、もうちょっとうまく空気読んでくれるようにできないのか(RangeはIndexedSeq[Int]のサブ型なのだから、Rangeから直接foldMapなどのFoldableのメソッド呼べてもいいような?)
  • 自分でちょっとだけいじって、それほど簡単ではなさそうなので諦めた
  • だれかいい解決方法あるのなら教えて下さい
  • もしくは、Rangeから、直接Foldableのメソッドを呼ぶことが、(Scalaの言語仕様とか現在のScalazのアーキテクチャが原因で?)不可能な理由をだれかわかりやすく説明してください


以下追記:



だいぶ後になってからの追記
https://github.com/scalaz/scalaz/issues/349#issuecomment-17270403