Как читать это «доказательство» GHC Core?

Я написал этот небольшой фрагмент Haskell, чтобы выяснить, как GHC доказывает, что для натуральных чисел вы можете уменьшить вдвое только четные: {-# LANGUAGE DataKinds, GADTs, KindSignatures, TypeFamilies #-} module Nat where data Nat = Z | S Nat data Parity = Even | Odd type family Flip (x ::...