Xはプロトコル、へぼいのは実装。