Use OptionMonoid
Rename to lift and sumBefore