This `progn` is redundant.  `-when-let` handles multiple body forms just fine.  Also, `setq` can assign multiple variables at once, so you can merge both `setq` expressions to:

```cl
(setq flycheck-ghc-search-path
      (append …)
      flycheck-ghc-extensions
      (…))
```