hoge :: a -> Maybe b とするべきか
hoge :: a -> b として境界条件外はundefinedするべきか
よく迷うけど指針ってありますか? (b自体はMaybe型じゃないとして)