I'm curious why you wanted a finger tree without the Monoid instance... if you need a different Monoid instance, you can probably simplify your code significantly by using a newtype wrapper around Seq rather than re-implementing it. -- Chris Smith