/// ## Tasks (Polyglot) /// ## task_name nominal task_name = string /// ## manual_scheduling union manual_scheduling = | WithSuggestion | WithoutSuggestion /// ## recurrency_offset union recurrency_offset = | Days : int | Weeks : int | Months : int /// ## fixed_recurrency union fixed_recurrency = | Weekly : date_time.day_of_week | Monthly : date_time.day | Yearly : date_time.day * date_time.month /// ## recurrency union recurrency = | Offset : recurrency_offset | Fixed : list fixed_recurrency /// ## scheduling union scheduling = | Manual : manual_scheduling | Recurrent : recurrency /// ## task type task = { name : task_name scheduling : scheduling } /// ## date type date = { year : date_time.year month : date_time.month day : date_time.day } /// ## status union status = | Postponed : option () /// ## event type event = { date : date status : status } /// ## task_template type task_template = { task : task events : list event }