def a_or_an(word: str, lowercase: bool = True):
    """
    Returns "an" if `word` starts with a, e, i, o, or u. Otherwise returns "a".
    May not be compatible with British English.
    :param word: str
    :param lowercase: bool
    :return: str
    """
    if lowercase:
        a = "a"
        an = "an"
    else:
        a = "A"
        an = "An"
    if word[0].lower() in ["a", "e", "i", "o", "u"]:
        return an
    else:
        return a