What are concrete uses of Bitcoin script? I am looking at solutions to simplify the architecture of Bitcoin from a more theoretical perspective. I am thinking about removing Bitcoin script, however I am not sure what restrictions this introduces.
I find many vague arguments, that having script makes us more flexible, however I am looking for concrete examples.

I have the following things:


Payment channels
Gambling / distributed random generator
Storing data in the blockchain / Proof of publication


What else is out there?
multisig transactions
blockchain-embedded escrow
time-bound transactions
proof-of-burn
bets based on some oracle, either trusted or decentralized


I suppose there are many more and that some if not all of the above can be, more or less efficiently, realized with P2PKH, possibly with some extra protocols required.