abilityCheckFailure
  :: ErrorExtractor v loc ([C.Type v loc], [C.Type v loc], C.Context v loc)
abilityCheckFailure = cause >>= \case
  C.AbilityCheckFailure ambient requested ctx -> pure (ambient, requested, ctx)
  _ -> mzero
abilityCheckFailure
  :: ErrorExtractor v loc ([C.Type v loc], [C.Type v loc], C.Context v loc)
abilityCheckFailure = cause >>= \case
  C.AbilityCheckFailure ambient requested ctx -> pure (ambient, requested, ctx)
  _ -> mzero
abilityCheckFailure = cause >>= \case
  C.AbilityCheckFailure ambient requested ctx -> pure (ambient, requested, ctx)
  _ -> mzero