def pluralize(default, count, cases=None) -> str:
    """Pluralizes a given word including the count.

    Examples:
        pluralize("post", 1) # 1 post
        pluralize("post", 2) # 2 posts

        def pluralize_men(count) -> str:
            return pluralize(None, count, cases={1: "1 man", "default": "{} men"})
        pluralize_men(0) # 0 men
        pluralize_men(1) # 1 man
    """
    if cases is None:
        return pluralize(default, count, cases={1: "{} " + default})
    elif "default" not in cases:
        return pluralize(None, count, cases={1: "{} " + default, "default": "{} " + default + "s"})
    else:
        return cases.get(count, cases["default"]).format(count)