You already did the work of using `nl` so it isn't relevant, but just FYI: you could have used a multi-line string literal instead, like:

```haskell
  let
    header = 
      "{-# LANGUAGE DeriveDataTypeable, OverloadedStrings, NoImplicitPrelude, PatternGuards, FlexibleInstances, MultiParamTypeClasses #-}\n\
      \-- | This file is generated from the Wikipedia page\n\
      \-- <http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2>\n\
      \...\n\
      \import           Text.Shakespeare.I18N\n\n"
```