Should I use my entire savings to pay off part of my (provincial) student loan?

In Alberta.

I currently have $6200 ish in a manulife (conservative) TFSA. I've contributed about $6000 in total so not a lot of growth.

I have about $9000 in alberta student loan that's currently in repayment.

It feels reckless to quickly let go of what I've managed to save but the interest is really bugging me. It's minimum $30 per month from what I calculated.

I'm also considering not saving as much and put everything towards paying it off a soon as possible.

Please advice 🫠

Other info:

Period of Study End Date

30/04/2025

Repayment Start Date

01/05/2026

Balance

$9,055.23

Principal

$9,053.02

Original Repayment Amount

$9,224.00

Accrued Interest Since Last Payment

$2.21

Next Payment Amount

$99.38

Next Payment Due Date

30/06/2026

Payment Frequency

Monthly

Remaining Term

9 Years, 5 Months

Term

9 Years, 6 Months

Current Interest Rate

4.450% Floating

Daily Interest Charge

$1.10

Information Current As Of

02/06/2026

reddit.com
u/Ifeee001 — 8 days ago

Manulife with work or buying stocks/etfs with wealthsimple?

25M, Alberta. Earning 24.45/hr working 40 hours a week. Sometimes, we have the option of 2 hours overtime before the regular shift start but I don't do it too often.

The company i work for offers investments through manulife. There's TFSA, RRSP, and RPP.

I've only managed to save $5900 in the TFSA since December 2025. I opened the RRSP last week so its still empty. I also just qualified for the RPP so that's still empty too.

I set up pay roll deduction:

RPP: 5% (Employer matches max 5%)

TFSA: 10%

RRSP: 8%

TFSA was 18% before I had the other accounts. I'm also treating the TFSA as an emergency fund thing for now. But I also have buying a property at the back of my mind so I'm still not sure what its for.

My TFSA is split like:

80%: 3132 ML Cdn Money Market (MIM) 0.380 IMF

10%: 4323 ML BR Canada Unv Bnd Idx 0.340 IMF

10%: 8323 ML BR U.S Equity Idx (Tax) 0.365 IMF

RRSP and RPP is:

100%: 2333 ML BR Lifepath Idx 2065 - 0.405 IMF

Idk what most of those mean but the little reading i did helped with the choices.

I started paying alberta and Canada student loans at $120 and $100 per month.

My parents still let me live with them. I'm paying the utilities and wifi. Utilities vary between 300 - 600 per month. Wifi is under $70. Insurance is about $210.

I recently went back to my wealthsimple account and transfered in $300 just to get a feel for it. I bought 2x CIBL, 1x SPIB, 3x Telus, and 2x ZMMK. I realized too late that the SPIB was a bad choice because of the exchange rate but oh well.

So, the question: Which platform should I give more money to? I'm tempted to stick with manulife because it has more of a corporate feel to it but so many people seem to be using wealthsimple. Do I even need to bother with buying stocks if I already have the manulife investments?

reddit.com
u/Ifeee001 — 16 days ago

When to desugar?

I had a light bulb moment last night and I'm embarrassed I didn't think of it sooner because its used in so many other languages. I realized lots of things could be desugared into simpler syntax (not IR). But the more I think about it, the more it seems not-so-straightforward.

Consider:

fn stuff(likesFemBoys = false) {
    // Stuff
}

We could avoid a "DefaultParam" Node by turning the function into

fn stuff(likesFemBoys: Bool) {
    likesFemBoys = false;
    // Stuff
}

But, depending on how a language is implemented, it raises some issues. If your language doesn't allow parameters to be implicitly mutable, you'll need to use a temp to work around it. Something like:

fn stuff(likesFemBoys: Bool) {
   let xx_default_likesFemBoys = false;
   // Stuff
}

Well now you have to use xx_default_likesFemBoys everywhere likesFemBoys is used. And, you have to ensure that no user defined identifier can start with xx_default_. It feels a bit ... hacky?

You could defer doing all that till you get to IR and have the DefaultParam Node in your AST. But, all the previous stages will have to explicitly handle the sugared nodes (there's typically a lot), when we could have desugared them earlier and keep everything consistent and simpler.

But if you desugar them earlier, you might have to do workarounds like what was described above. Error messages could also become trickier to get right.

Another example is handling nulls. E.g. as seen in other languages

let name = findName() ?? "NoName";

Which might be desugared into:

mut tmp = findName();
if tmp == null tmp = "NoName";
let name = tmp;

When would be appropriate to desugar this? Would you create an AST node for it? Or simply parse it as an assignment statement, if statement, and another assignment statement?

reddit.com
u/Ifeee001 — 26 days ago

I was doing some reading on therapy options available in my city... this is surely a mistake right?😭

u/Ifeee001 — 1 month ago