def parse_union_member_types(lexer: Lexer) -> List[NamedTypeNode]:
    """UnionMemberTypes"""
    types: List[NamedTypeNode] = []
    if expect_optional_token(lexer, TokenKind.EQUALS):
        # optional leading pipe
        expect_optional_token(lexer, TokenKind.PIPE)
        append = types.append
        while True:
            append(parse_named_type(lexer))
            if not expect_optional_token(lexer, TokenKind.PIPE):
                break
    return types
UnionMemberTypes