多相バリアントの実装、わけわからない。Maybe, Eitherなどの実装は一旦諦めて、バリアント型(代数的データ型)が担う以下の機能を個別に実装したい。

Event型は、JS的な表現としては、コールバック関数と入力Glisp値を受け取り、イベントが発火されたタイミングで新たなGlisp値を第一引数にコールバック関数を呼び出す