振る舞いに応じて型を分けることで複雑さに対処する
#型
#パターンマッチング
#代数的データ型(ADT)
https://zenn.dev/labbase/articles/e71cb001f179bf