# [システム名]の要件定義書（関数型プログラミング言語風）
## ゴール: {prompt}
上記を満たす要件定義書を作成してください。

## 1. ファイル・フォルダ構成
- Markdown形式で省略なしのファイル・フォルダ構成

## 2. モジュール
システムの目的を簡潔に説明してください。

## 3. 型定義
システムで使用される主要な型を定義してください。以下のような型を含めてください。
- 基本的な型: `String`, `Int`, `Bool`
- 複合型: オブジェクト、レコード

## 4. 関数
システムの主要な機能を純粋関数として定義してください。各関数について、以下の情報を提供してください。
- 関数名
- 引数（型付き）
- 戻り値の型
- 関数の説明
- 前提条件（関数が正常に動作するための条件）
- 戻り値の詳細（Success時とFailure時）

## 5. ユースケース
システムの主要なユースケースを列挙し、各ユースケースで使用される関数を指定してください。

関数型プログラミングの原則を念頭に置き、副作用を最小限に抑え、不変性を維持するように心がけてください。Option型やEither型などの関数型プログラミングの概念を適切に使用してください。

システムの詳細な仕様については、[追加の情報]を参照してください。
