[
    {
        "name": "Exts.Delta",
        "comment": "A system for tracking players that enter and leave a stage, a-la D3.\n\nImplementation detail: This code is hampered by the lack of Elm's type classes. Note the following:\n1. Performance may degrade badly as the number of elements increases.\n2. It is up to you to ensure (a) implments Eq correctly.",
        "unions": [],
        "aliases": [
            {
                "name": "Delta",
                "comment": "",
                "args": [
                    "a"
                ],
                "type": "{ entering : List a, continuing : List a, leaving : List a }"
            }
        ],
        "values": [
            {
                "name": "diff",
                "comment": "",
                "type": "List a -> List a -> List a"
            },
            {
                "name": "empty",
                "comment": "",
                "type": "Delta a"
            },
            {
                "name": "filter",
                "comment": "",
                "type": "(a -> Bool) -> List a -> List a"
            },
            {
                "name": "generation",
                "comment": "",
                "type": "List a -> Delta a -> Delta a"
            },
            {
                "name": "intersect",
                "comment": "",
                "type": "List a -> List a -> List a"
            },
            {
                "name": "listContains",
                "comment": "",
                "type": "a -> List a -> Bool"
            },
            {
                "name": "remove",
                "comment": "",
                "type": "(a -> Bool) -> List a -> List a"
            },
            {
                "name": "union",
                "comment": "",
                "type": "List a -> List a -> List a"
            }
        ],
        "binops": []
    },
    {
        "name": "Exts.Html.Bootstrap",
        "comment": "Bootstrap support. |",
        "unions": [],
        "aliases": [],
        "values": [
            {
                "name": "container",
                "comment": "",
                "type": "List Html -> Html"
            },
            {
                "name": "containerFluid",
                "comment": "",
                "type": "List Html -> Html"
            },
            {
                "name": "empty",
                "comment": "",
                "type": "Html"
            },
            {
                "name": "row",
                "comment": "",
                "type": "List Html -> Html"
            },
            {
                "name": "twoColumns",
                "comment": "",
                "type": "List Html -> List Html -> Html"
            }
        ],
        "binops": []
    },
    {
        "name": "Exts.Html.Table",
        "comment": "Helpers for simple data tables.\n    I find this approach brakes down for all but simple tables, so be\n    ready to rewrite when this 80% case no longer suits.\n|",
        "unions": [],
        "aliases": [
            {
                "name": "CellDef",
                "comment": "",
                "args": [
                    "a"
                ],
                "type": "( Html, a -> Html )"
            },
            {
                "name": "TableDef",
                "comment": "",
                "args": [
                    "a"
                ],
                "type": "List (CellDef a)"
            }
        ],
        "values": [
            {
                "name": "simpleTable",
                "comment": "",
                "type": "TableDef a -> List a -> Html"
            },
            {
                "name": "simpleTableRow",
                "comment": "",
                "type": "TableDef a -> a -> Html"
            },
            {
                "name": "titleGroup",
                "comment": "",
                "type": "List String -> Html"
            },
            {
                "name": "valueGroup",
                "comment": "",
                "type": "List (a -> Html) -> a -> Html"
            }
        ],
        "binops": []
    },
    {
        "name": "Exts.Json.Encode",
        "comment": "Extensions to the core Json Encode library. |",
        "unions": [],
        "aliases": [],
        "values": [
            {
                "name": "set",
                "comment": "",
                "type": "(comparable -> Value) -> Set comparable -> Value"
            }
        ],
        "binops": []
    },
    {
        "name": "Exts.List",
        "comment": "Extensions to the core List library. |",
        "unions": [],
        "aliases": [],
        "values": [
            {
                "name": "chunk",
                "comment": "",
                "type": "Int -> List a -> List (List a)"
            }
        ],
        "binops": []
    },
    {
        "name": "Exts.Maybe",
        "comment": "Extensions to the core Maybe library. |",
        "unions": [],
        "aliases": [],
        "values": [
            {
                "name": "isJust",
                "comment": "",
                "type": "Maybe a -> Bool"
            },
            {
                "name": "isNothing",
                "comment": "",
                "type": "Maybe a -> Bool"
            },
            {
                "name": "mapMaybe",
                "comment": "",
                "type": "(a -> Maybe b) -> List a -> List b"
            },
            {
                "name": "maybeNumber",
                "comment": "",
                "type": "Maybe num -> String"
            },
            {
                "name": "maybeString",
                "comment": "",
                "type": "Maybe String -> String"
            }
        ],
        "binops": []
    },
    {
        "name": "Exts.Result",
        "comment": "Extensions to the core Maybe library. |",
        "unions": [],
        "aliases": [],
        "values": [
            {
                "name": "bimap",
                "comment": "",
                "type": "(e -> f) -> (a -> b) -> Result e a -> Result f b"
            },
            {
                "name": "isOk",
                "comment": "",
                "type": "Result a b -> Bool"
            },
            {
                "name": "resultWithDefault",
                "comment": "",
                "type": "b -> Result a b -> b"
            }
        ],
        "binops": []
    },
    {
        "name": "Exts.SafeList",
        "comment": "A safe version of the List library, following Haskell's Safe.",
        "unions": [],
        "aliases": [],
        "values": [
            {
                "name": "lookup",
                "comment": "",
                "type": "(a -> Bool) -> List a -> Maybe a"
            }
        ],
        "binops": []
    },
    {
        "name": "Exts.Set",
        "comment": "Extensions to the core Maybe library. |",
        "unions": [],
        "aliases": [],
        "values": [
            {
                "name": "select",
                "comment": "",
                "type": "(a -> comparable) -> Set comparable -> List a -> List a"
            },
            {
                "name": "uniqueItems",
                "comment": "",
                "type": "(a -> Maybe String) -> List a -> Set String"
            }
        ],
        "binops": []
    },
    {
        "name": "Exts.String",
        "comment": "Extensions to the core String library. |",
        "unions": [],
        "aliases": [],
        "values": [
            {
                "name": "removePrefix",
                "comment": "",
                "type": "String -> String -> String"
            }
        ],
        "binops": []
    },
    {
        "name": "Exts.Tuple",
        "comment": "Extensions for tuples. |",
        "unions": [],
        "aliases": [],
        "values": [
            {
                "name": "indexedPair",
                "comment": "",
                "type": "(a -> b) -> a -> ( b, a )"
            }
        ],
        "binops": []
    }
]