>>133
中身が比較できないとMaybeも比較できないじゃん
具体的には、

instance (Eq a) => Eq (Maybe a) where
  Nothing == Nothing = True
  Just a == Just b = a == b -- このa==bが意味を持つことを保証しないといけない
  _ == _ = False