Genericsの互換性がないのが痛すぎる>Scala
F#のほうがよさげ。