# [Haskell], 39 bytes

<!-- language-all: lang-hs -->

 (a:t)#n=any(==n)(map(a+)t)||t#n
 _#n=1<0

[Try it online!] Example usage: `[1,3,2,5] # 3`. Returns `True` or `False`.

[Haskell]: https://www.haskell.org/
[Try it online!]: https://tio.run/nexus/haskell#NYpBCsIwEEX3niIwmwS/4CRpFTFH8AQhSJZddCiSTaF3j0NQ/uq997utj@ZIUpXdpiTOrnWz9eyaO45Gcnpr4@e1r3URk4zWl9k@izSTc0DEVGiGyQyPgZgLMauJ8AF3vkVEjwsXijx@/4VCQYX/4RTg9TPMmELpXw "Haskell – TIO Nexus"

____

**40 byte alternative**

 f(a:t)=map(a+)t++f t
 f e=e
 (.f).any.(==)