>>414
data や newtype で定義した型の値コンストラクタが公開されていれば、
それが Monad クラスのインスタンスだろうがなんだろうが、
その値コンストラクタでパターンマッチできるよ。

値コンストラクタが公開されていなければ、
パターンマッチでは取り出せない。

モナドの話とは関係ないと私は思ってるんだけど、なんか関係あるかな?