Kim-Ee Yeoh wrote:
Consider
data Task = Task { title :: String, completed :: Bool, subtasks :: Maybe
[Task] }
Note that unless you have some meaning in mind for the difference
between a subtask value of Nothing vs. (Just []), the Maybe is redundant.
Anton