Haskell: modelo Haskell e o escopo

Este código é bem compilado:

data None = None { _f :: Int }
type Simpl = Env

type Env = Int

No entanto, recebi um erro com este código:

{-# LANGUAGE TemplateHaskell #-}
import Control.Lens

data None = None { _f :: Int }

type Simpl = Env

makeLenses ''None

type Env = Int

Erro:

Not in scope: type constructor or class `Env'

Acabei de adicionar uma única linhamakeLenses ''None entre declarações de tipo.
Isso significa que o código TemplateHaskell pode alterar o escopo do tipo construtor?

Alguém sabe os detalhes sobre esse problema (ou como evitar esse problema)?

questionAnswers(1)

yourAnswerToTheQuestion