[{"name":"SemiGroup","comment":" A module to define generic functions for semigroup.\n\n\n# Types\n\n@docs SemiGroup\n@docs Sum\n@docs Product\n\n@docs append\n\n\n# SemiGroup types for popular types\n\n@docs string\n@docs sum\n@docs product\n@docs list\n@docs array\n@docs dict\n@docs set\n@docs cmd\n@docs sub\n\n","unions":[{"name":"Product","comment":" `MoSemigroupnoid` under multiplication.\n","args":["a"],"cases":[["Product",["a"]]]},{"name":"SemiGroup","comment":" Main type.\n","args":["a"],"cases":[["SemiGroup",["a -> a -> a"]]]},{"name":"Sum","comment":" `Semigroup` under addition\n","args":["a"],"cases":[["Sum",["a"]]]}],"aliases":[],"values":[{"name":"append","comment":" Take the way to append a semigroups.\n","type":"SemiGroup.SemiGroup a -> a -> a -> a"},{"name":"array","comment":" `SemiGroup` type for `Array`.\n","type":"SemiGroup.SemiGroup (Array.Array a)"},{"name":"cmd","comment":" `SemiGroup` type for `Cmd`.\n","type":"SemiGroup.SemiGroup (Platform.Cmd.Cmd comparable)"},{"name":"dict","comment":" `SemiGroup` type for `Dict`.\n","type":"SemiGroup.SemiGroup (Dict.Dict comparable a)"},{"name":"list","comment":" `Semigroup` type for `List`.\n","type":"SemiGroup.SemiGroup (List.List a)"},{"name":"product","comment":" `Semigroup` type for `Product`.\n","type":"SemiGroup.SemiGroup (SemiGroup.Product number)"},{"name":"set","comment":" `SemiGroup` type for `Set`.\n","type":"SemiGroup.SemiGroup (Set.Set comparable)"},{"name":"string","comment":" `Semigroup` type for `String`.\n","type":"SemiGroup.SemiGroup String.String"},{"name":"sub","comment":" `Monoid` type for `Sub`.\n","type":"SemiGroup.SemiGroup (Platform.Sub.Sub comparable)"},{"name":"sum","comment":" `Semigroup` type for `Sum`.\n","type":"SemiGroup.SemiGroup (SemiGroup.Sum number)"}],"binops":[]}]