Мне нужен список отчетов. Отчет может быть типа «Подробно» или «Раздел».
module Data
type Section = { Header: string;
Lines: string list;
Total: string }
type Detail = { State: string;
Divisions: string list;
Sections: Section list }
type Summary = { State: string;
Office: string;
Sections: Section list }
type Report = Detail | Summary
Затем в моем коде я хотел бы сделать следующее:
let mutable (reports:Report list) = []
...
reports <- detail::reports
// or
reports <- summary::reports
Компилятор жалуется в первом случае: "Выражение должно было иметь тип Report, а здесь тип Detail", и, соответственно, аналогично во втором случае.
Я сошел с ума, если хочу сделать такую вещь? Должен ли я думать о проблеме по-другому? Поскольку отчет является либо подробным, либо сводным, не должен ли список отчетов принимать либо детали, либо сводку? Что такое список отчетов, если не список деталей или сводок?
Спасибо.