Curry, unlike its cousin Haskell, allows you to give multiple values to a function:
foo 1 2 = 3
foo 1 2 = 4
and it does backtracking (or some other search) to explore the implications of such non-determinism.
This makes it similar to Prolog (especially λProlog due to the type system and syntax), where you would instead state
foo 1 2 3.
foo 1 2 4.
Semantically, is there any difference between an N-ary Curry function and an N+1-ary Prolog relation?