[Haskell-cafe] advice on GADT type witnesses needed