A concatenative language without multiple return values. Lacking multiple return values is why Haskell pointfree code is so ugly in comparison to Joy/Factor/etc. Let's say we just want to write a simple function that multiplies three numbers together...

Joy:

3mul = * *

Haskell:

3mul = ((*) .) . (*)

It gets worse if we were to want to do it with a non-commutative operation like substraction in reverse order: