I think you have a really cool core mechanic in this one! Having each type be a different attack type worked really well. The design of the game gave me a lot of nice Binding of Isaac vibes. Here are some things to consider if you'd like to improve it:
1. Make the first few levels easier. This is an issue that I think lot of people run into. You play your game a lot when making it and it becomes easy to you. So you crank up the difficulty to make it fun again. This makes the game really tough for new players. Personally, I kept dying on the first level a lot and never progressed much. I think a good first step would be to have one enemy per room in all the first level rooms. Not only does it make the game easier, it also can let the player internalize the rock, paper scissors mechanic a bit better by having to deal with only one type of enemy at a time.
2. Reduce the number of dead ends in levels / give more thinking time when entering a room. Consider entering the following room from the bottom:
Since enemies spawn in the center and immediately move towards you, you have to attack immediately. There isn't much time to pick a weapon or plan. I usually died in situations like this. I think the player needs more time to mentally process a room before the enemies attack. You can do this in a lot of ways, like by slowing enemies down, reducing the range of enemy attacks, reducing the range at which enemies attack you and/or giving the player more places to move to. I definitely enjoyed the more open rooms much more, since I was able to dodge better and escape from enemies when my mana was low. I think it's also good practice to spawn the enemies far away from the player. Another neat thing you could try is having enemies stop for a second before attacking so that the player can tell an attack is about to happen.
That said, I definitely enjoyed the game and I think you have some really neat ideas in there!