Type systems should definitely be possible! It should be pretty simple conditional logic; just make a function like "If attack is Type X, check if defender is a relevant type and apply multipliers." I can even do a mockup for you if you like. (I've actually been considering making a proof-of-concept monster collector for a future Experiment.)
Level up mechanics are definitely doable, even though I didn't make any explicit systems for them; A Friendly Irin made a game that used them and released the source code, so you can check that out.





