remove unused LANGUAGE extensions and sort
import Control.Monad.Trans instead of Control.Monad.Reader
simplify Attribute and `With` instances