relateByAssumption :: (?globals :: Globals)
  => Span
  -> (Span -> Coeffect -> Coeffect -> Type -> Constraint)
  -> (Id, Assumption)
  -> (Id, Assumption)
  -> Checker ()

-- Linear assumptions ignored
relateByAssumption _ _ (_, Linear _) (_, Linear _) = return ()
relateByAssumption :: (?globals :: Globals)
  => Span
  -> (Span -> Coeffect -> Coeffect -> Type -> Constraint)
  -> (Id, Assumption)
  -> (Id, Assumption)
  -> Checker ()
relateByAssumption _ _ (_, Linear _) (_, Linear _) = return ()
relateByAssumption _ _ (_, Linear _) (_, Linear _) = return ()