reactive ライブラリの integral 関数の挙動が分からない。

integral :: (VectorSpace v, Scalar v ~ TimeT) =>
  Event () -> Behavior v -> Behavior v

そもそも、ライブラリのドキュメントには Euler integral とだけ書かれており、
引数の説明は全く書かれていないので、結果の値から想像するしかない。

おそらく、第2引数のビヘイビアに対して定積分した結果を
戻り値のビヘイビアとして返しているのだと思うが、
第1引数のイベントの役割が分からない。

例えば time ビヘイビアの TimeT による a から b までの定積分は、
(a^2)/2 - (b^2)/2 だと思う(下記の挙動を見ると自信が無くなる)。

そこで次のようにプログラムすると、v の 4 秒目以降の値は 16 だ。
v = atTimes [0, 4] `integral` time

イベントのタイミングが積分範囲になっていると予想していたが、
違っていたようだ(それなら 16 ではなく 8 になっているはず)。

次のだと、2 秒目から 4 秒目までが 4、4 秒目以降が 12 だ。
v = atTimes [0, 2, 4] `integral` time

意味が分からない。
この第1引数のイベントはどのように働いているのだろうか。