synthExpr _ _ _ (Val s _ (NumInt n))  = do
  let t = TyCon $ mkId "Int"
  return (t, [], [], Val s t (NumInt n))
synthExpr _ _ _ (Val s _ (NumInt n))  = do
  let t = TyCon $ mkId "Int"
  return (t, [], [], Val s t (NumInt n))
synthExpr _ _ _ (Val s _ (NumInt n))  = do
  let t = TyCon $ mkId "Int"
  return (t, [], [], Val s t (NumInt n))