Eitherを作る

 #58 での議論が固まったら書きます。