Following the answer in https://stackoverflow.com/a/26084087/8142021 I used the following haskell code to define a Modal Logic with GADTs.