{(fn x -> 1 + x)(3), 10} should return {4, 10} but rather returns {4} due to the eager consumption of the remainder of the tuple elements by the function application. Same happens with lists.
This issue is related to #29. If the function application is eagerly consuming all the elements to it's right, then it means it's given more than the necessary arguments and that should throw an error for arity mismatch.
Possible fixes:
- set the right operator precedence