A simple data structure helping us ask questions of the following
sort: “does all this data have the same /BLANK/ and if so what is it?”
For example:
doTheseHaveTheSameLength :: [String] -> String
doTheseHaveTheSameLength l = case foldMap (Somebody . length) of
Somebody n -> "They all have length " <> show n
Nobody -> "The lengths differ"
Anybody -> "You didn't give me any strings"
This can of course be done with Maybe (Maybe x) instead, but doing
so runs the risk of getting confused: which is Nothing and which is
Just Nothing?
Changes
Changelog for agreeing
All notable changes to this project will be documented in this file.