Type-indexed runtime-checked properties for Haskell