def parse_implements_interfaces(lexer: Lexer) -> List[NamedTypeNode]:
    """ImplementsInterfaces"""
    types: List[NamedTypeNode] = []
    if expect_optional_keyword(lexer, "implements"):
        # optional leading ampersand
        expect_optional_token(lexer, TokenKind.AMP)
        append = types.append
        while True:
            append(parse_named_type(lexer))
            if not expect_optional_token(lexer, TokenKind.AMP):
                break
    return types
ImplementsInterfaces