1364 derived data instances

fixes #1364. @tillmo please review .

It is not possible to derive Data instances for existential data types. Therefore the logic TopHybrid (like the logic Haskell) just produce "null" json. It would be possibly to manually write ToJson instances for these two logics, but that would be a real pain without gain currently. 
you could merge the two case statements into one, by replacing the last three patterns with (_,[]), (_,[e]) and _.