i :: forall a (b :: ()) d. (d ~ '())
  => forall c
  .  a b c d -- ^ abcd
  -> ()      -- ^ Result
i = undefined
i :: forall a (b :: ()) d. (d ~ '())
  => forall c
  .  a b c d -- ^ abcd
  -> ()
i = undefined
i = undefined