In the Bitcoin Mainnet, only specific transaction types are accepted:
Bitcoin uses a scripting language to specify (and satisfy) the encumbrances, thereby allowing a whole host of transaction types. Although many transaction types can be represented in the scripting language, only a limited number of standard transaction types are actually accepted by the network and the miners. (source)
What is the point of equipping Bitcoin with a scripting language, while only accepting a pre-defined set of transaction types? What harm could be caused to the network by accepting valid transactions with an arbitrary locking script?