hope this fix your issue When I learn a new language, the first thing I do is to read through a Fast Fourier Transform implementation and try to get it to work. It's an algorithm that I'm fairly familiar with - so it helps me to understand how the language works. , It looks like you're missing two pieces from the linked code:

```
{-# LANGUAGE ScopedTypeVariables #-}
```

```
evalFourier
:: forall a . RealFloat a
=> [Complex a] -- ^ polynomial coefficients, starting from a_0
-> [U] -- ^ points at which to evaluate the polynomial
-> Writer (Sum Int) [Complex a]
```