Update to require Typeable for SimpleBackends and to provide an
instance such that SomeSimpleBackend is still a SimpleBackend.

This is an alternative to the approach in 8833adb6e6ef208, and
thus a work-around for the GHC bug found there.