effectConstructorWrongArgCount
  :: ErrorExtractor
       v
       loc
       (C.ExpectedArgCount, C.ActualArgCount, Reference, C.ConstructorId)
effectConstructorWrongArgCount = cause >>= \case
  C.EffectConstructorWrongArgCount expected actual r cid ->
    pure (expected, actual, r, cid)
  _ -> mzero
effectConstructorWrongArgCount
  :: ErrorExtractor
       v
       loc
       (C.ExpectedArgCount, C.ActualArgCount, Reference, C.ConstructorId)
effectConstructorWrongArgCount = cause >>= \case
  C.EffectConstructorWrongArgCount expected actual r cid ->
    pure (expected, actual, r, cid)
  _ -> mzero
effectConstructorWrongArgCount = cause >>= \case
  C.EffectConstructorWrongArgCount expected actual r cid ->
    pure (expected, actual, r, cid)
  _ -> mzero