If you look at the current market of blockchain smart contracting languages, most take a hard right turn into the 'security through obscurity' lane. The rationale is that if you use highly functional and low level languages, it is harder to make errors because the type systems are so strict.

Tezos says this about their own language Michelson:

At first sight, Michelson is a strange language. 
It doesn’t include many features like polymorphism, closures, or named functions. 
Compared to a language like Haskell or OCaml, it seems underpowered; 
its stack is not always easy to deal with; there is no standard library.

Why would you ever choose to use this language for your newest application?

This makes sense, but it is also at the cost of developer adoption. People have a hard time understanding blockchain as it is. Why make it even harder for them to explore and get started?

We believe this concept is like a walled garden. It looks great if you are on the inside, but no one can hop over the fence without investing hundreds of hours into learning the platform.

This makes it extremely hard for businesses to justify creating proof of concepts and trying out this new technology. As a business owner, how can one justify spending their workers to invest hundreds of hours to simply evaluate if the technology makes sense for the business?