typeCheckUnop :: Unop -> TypeCheck Type
typeCheckUnop = \case
  BNot -> return (TBool ~> TBool)
typeCheckUnop :: Unop -> TypeCheck Type
typeCheckUnop = \case
  BNot -> return (TBool ~> TBool)
typeCheckUnop = \case
  BNot -> return (TBool ~> TBool)