Thanks to @kwak @user @ladroid for helpful discussion during the live stream on https://discord.gg/hu92NC !
If you want to read articles about this, here are the right terms for the some of the words I’ve used:
“ordinary type” — monomorphic type (no type parameters, but may contain type variables)
“generic type” — polymorphic type (via type schemes), e.g.
forall a. a -> a