runTC :: TypeCheck a -> Either TCError a
runTC m = runReader Map.empty (runExceptionT (unTC m))
runTC :: TypeCheck a -> Either TCError a
runTC m = runReader Map.empty (runExceptionT (unTC m))
runTC m = runReader Map.empty (runExceptionT (unTC m))