I've tried to define (Maybe a) instance for ExtensionClass from XMonad/Core.hs
in such way, that extensionType value would use the same data constructor as
was used for the type a itself. But the code below typechecks only, if i add
(Show a) and (Read a) constraints to (Maybe a) instance definition, what makes
such definition useless for types, which do not have these instances and do
not want to use PersistentExtension .