diff --git a/System/Console/Rainbow.hs b/System/Console/Rainbow.hs
--- a/System/Console/Rainbow.hs
+++ b/System/Console/Rainbow.hs
@@ -60,2982 +60,85 @@
 -- terminal. That is, if you want to print some text in one color and
 -- some text in another color, make two chunks.
 
-module System.Console.Rainbow (
-
-  -- * Terminal definitions
-    Term(..)
-  , termFromEnv
-  , smartTermFromEnv
-
-  -- * Chunks
-  , Chunk(..)
-
-  -- * Printing chunks
-  , putChunks
-  , hPutChunks
-
-  -- ** Printing one chunk at a time
-
-  -- | These functions make it easy to print one chunk at a time. Each
-  -- function initializes the terminal once for each chunk, unlike the
-  -- list-oriented functions, which only initialize the terminal
-  -- once. (Initialization does not clear the screen; rather, it is a
-  -- process that the terminfo library requires.) Thus there might be
-  -- a performance penalty for using these functions to print large
-  -- numbers of chunks. Or, there might not be--I have not benchmarked
-  -- them.
-  --
-  -- These functions use the default terminal, obtained using
-  -- 'termFromEnv'.
-  , putChunk
-  , putChunkLn
-  , hPutChunk
-  , hPutChunkLn
-
-  -- * Effects for both 8 and 256 color terminals
-
-  -- | These 'Chunk's affect both 8 and 256 color terminals:
-  --
-  -- > putChunkLn $ "bold on 8 and 256 color terminals" <> bold
-  --
-  -- There are also 'Chunk's to turn an effect off, such as
-  -- 'boldOff'. Ordinarily you will not need these because each chunk
-  -- starts with no effects, so you only need to turn on the effects
-  -- you want. However the @off@ 'Chunk's are here if you need them.
-
-  , bold, boldOff
-  , underline, underlineOff
-  , flash, flashOff
-  , inverse, inverseOff
-
-  -- * Effects for 8-color terminals only
-
-  -- | These 'Chunk's affect 8-color terminals only.
-  --
-  -- > putChunkLn $ "Bold on 8 color terminal only" <> bold8
-
-  , bold8, bold8off
-  , underline8, underline8off
-  , flash8, flash8off
-  , inverse8, inverse8off
-
-  -- * Effects for 256-color terminals only
-
-  -- | These 'Chunk's affect 256-color terminals only.
-  --
-  -- > putChunkLn $ "Underlined on 256-color terminal, "
-  -- >              <> "bold on 8-color terminal"
-  -- >              <> underlined256 <> bold8
-
-  , bold256, bold256off
-  , underline256, underline256off
-  , flash256, flash256off
-  , inverse256, inverse256off
-
-  -- * Colors for both 8 and 256 color terminals
-
-  -- | These 'Chunk's affect both 8 and 256 color
-  -- terminals.
-  --
-  -- > putChunkLn $ "Red on blue" <> f_red <> b_blue
-
-  -- ** Foreground colors
-
-  , f_default
-  , f_black
-  , f_red
-  , f_green
-  , f_yellow
-  , f_blue
-  , f_magenta
-  , f_cyan
-  , f_white
-
-  -- ** Background colors
-
-  , b_default
-  , b_black
-  , b_red
-  , b_green
-  , b_yellow
-  , b_blue
-  , b_magenta
-  , b_cyan
-  , b_white
-
-   -- * Specific colors
-   -- ** 8 color foreground colors
-  , c8_f_default
-  , c8_f_black
-  , c8_f_red
-  , c8_f_green
-  , c8_f_yellow
-  , c8_f_blue
-  , c8_f_magenta
-  , c8_f_cyan
-  , c8_f_white
-
-   -- ** 8 color background colors
-  , c8_b_default
-  , c8_b_black
-  , c8_b_red
-  , c8_b_green
-  , c8_b_yellow
-  , c8_b_blue
-  , c8_b_magenta
-  , c8_b_cyan
-  , c8_b_white
-
-   -- ** 256 color foreground colors
-
-   -- | The color names assume a palette similar to the default one
-   -- that xterm uses.
-  , c256_f_default
-  , c256_f_0
-  , c256_f_black
-  , c256_f_1
-  , c256_f_red
-  , c256_f_2
-  , c256_f_green
-  , c256_f_3
-  , c256_f_yellow
-  , c256_f_4
-  , c256_f_blue
-  , c256_f_5
-  , c256_f_magenta
-  , c256_f_6
-  , c256_f_cyan
-  , c256_f_7
-  , c256_f_white
-  , c256_f_8
-  , c256_f_grey
-  , c256_f_9
-  , c256_f_red_bright
-  , c256_f_10
-  , c256_f_green_bright
-  , c256_f_11
-  , c256_f_yellow_bright
-  , c256_f_12
-  , c256_f_blue_bright
-  , c256_f_13
-  , c256_f_magenta_bright
-  , c256_f_14
-  , c256_f_cyan_bright
-  , c256_f_15
-  , c256_f_white_bright
-  , c256_f_16
-  , c256_f_17
-  , c256_f_18
-  , c256_f_19
-  , c256_f_20
-  , c256_f_21
-  , c256_f_22
-  , c256_f_23
-  , c256_f_24
-  , c256_f_25
-  , c256_f_26
-  , c256_f_27
-  , c256_f_28
-  , c256_f_29
-  , c256_f_30
-  , c256_f_31
-  , c256_f_32
-  , c256_f_33
-  , c256_f_34
-  , c256_f_35
-  , c256_f_36
-  , c256_f_37
-  , c256_f_38
-  , c256_f_39
-  , c256_f_40
-  , c256_f_41
-  , c256_f_42
-  , c256_f_43
-  , c256_f_44
-  , c256_f_45
-  , c256_f_46
-  , c256_f_47
-  , c256_f_48
-  , c256_f_49
-  , c256_f_50
-  , c256_f_51
-  , c256_f_52
-  , c256_f_53
-  , c256_f_54
-  , c256_f_55
-  , c256_f_56
-  , c256_f_57
-  , c256_f_58
-  , c256_f_59
-  , c256_f_60
-  , c256_f_61
-  , c256_f_62
-  , c256_f_63
-  , c256_f_64
-  , c256_f_65
-  , c256_f_66
-  , c256_f_67
-  , c256_f_68
-  , c256_f_69
-  , c256_f_70
-  , c256_f_71
-  , c256_f_72
-  , c256_f_73
-  , c256_f_74
-  , c256_f_75
-  , c256_f_76
-  , c256_f_77
-  , c256_f_78
-  , c256_f_79
-  , c256_f_80
-  , c256_f_81
-  , c256_f_82
-  , c256_f_83
-  , c256_f_84
-  , c256_f_85
-  , c256_f_86
-  , c256_f_87
-  , c256_f_88
-  , c256_f_89
-  , c256_f_90
-  , c256_f_91
-  , c256_f_92
-  , c256_f_93
-  , c256_f_94
-  , c256_f_95
-  , c256_f_96
-  , c256_f_97
-  , c256_f_98
-  , c256_f_99
-  , c256_f_100
-  , c256_f_101
-  , c256_f_102
-  , c256_f_103
-  , c256_f_104
-  , c256_f_105
-  , c256_f_106
-  , c256_f_107
-  , c256_f_108
-  , c256_f_109
-  , c256_f_110
-  , c256_f_111
-  , c256_f_112
-  , c256_f_113
-  , c256_f_114
-  , c256_f_115
-  , c256_f_116
-  , c256_f_117
-  , c256_f_118
-  , c256_f_119
-  , c256_f_120
-  , c256_f_121
-  , c256_f_122
-  , c256_f_123
-  , c256_f_124
-  , c256_f_125
-  , c256_f_126
-  , c256_f_127
-  , c256_f_128
-  , c256_f_129
-  , c256_f_130
-  , c256_f_131
-  , c256_f_132
-  , c256_f_133
-  , c256_f_134
-  , c256_f_135
-  , c256_f_136
-  , c256_f_137
-  , c256_f_138
-  , c256_f_139
-  , c256_f_140
-  , c256_f_141
-  , c256_f_142
-  , c256_f_143
-  , c256_f_144
-  , c256_f_145
-  , c256_f_146
-  , c256_f_147
-  , c256_f_148
-  , c256_f_149
-  , c256_f_150
-  , c256_f_151
-  , c256_f_152
-  , c256_f_153
-  , c256_f_154
-  , c256_f_155
-  , c256_f_156
-  , c256_f_157
-  , c256_f_158
-  , c256_f_159
-  , c256_f_160
-  , c256_f_161
-  , c256_f_162
-  , c256_f_163
-  , c256_f_164
-  , c256_f_165
-  , c256_f_166
-  , c256_f_167
-  , c256_f_168
-  , c256_f_169
-  , c256_f_170
-  , c256_f_171
-  , c256_f_172
-  , c256_f_173
-  , c256_f_174
-  , c256_f_175
-  , c256_f_176
-  , c256_f_177
-  , c256_f_178
-  , c256_f_179
-  , c256_f_180
-  , c256_f_181
-  , c256_f_182
-  , c256_f_183
-  , c256_f_184
-  , c256_f_185
-  , c256_f_186
-  , c256_f_187
-  , c256_f_188
-  , c256_f_189
-  , c256_f_190
-  , c256_f_191
-  , c256_f_192
-  , c256_f_193
-  , c256_f_194
-  , c256_f_195
-  , c256_f_196
-  , c256_f_197
-  , c256_f_198
-  , c256_f_199
-  , c256_f_200
-  , c256_f_201
-  , c256_f_202
-  , c256_f_203
-  , c256_f_204
-  , c256_f_205
-  , c256_f_206
-  , c256_f_207
-  , c256_f_208
-  , c256_f_209
-  , c256_f_210
-  , c256_f_211
-  , c256_f_212
-  , c256_f_213
-  , c256_f_214
-  , c256_f_215
-  , c256_f_216
-  , c256_f_217
-  , c256_f_218
-  , c256_f_219
-  , c256_f_220
-  , c256_f_221
-  , c256_f_222
-  , c256_f_223
-  , c256_f_224
-  , c256_f_225
-  , c256_f_226
-  , c256_f_227
-  , c256_f_228
-  , c256_f_229
-  , c256_f_230
-  , c256_f_231
-  , c256_f_232
-  , c256_f_233
-  , c256_f_234
-  , c256_f_235
-  , c256_f_236
-  , c256_f_237
-  , c256_f_238
-  , c256_f_239
-  , c256_f_240
-  , c256_f_241
-  , c256_f_242
-  , c256_f_243
-  , c256_f_244
-  , c256_f_245
-  , c256_f_246
-  , c256_f_247
-  , c256_f_248
-  , c256_f_249
-  , c256_f_250
-  , c256_f_251
-  , c256_f_252
-  , c256_f_253
-  , c256_f_254
-  , c256_f_255
-
-  -- ** 256 color background colors
-
-   -- | The color names assume a palette similar to the default one
-   -- that xterm uses.
-  , c256_b_default
-  , c256_b_0
-  , c256_b_black
-  , c256_b_1
-  , c256_b_red
-  , c256_b_2
-  , c256_b_green
-  , c256_b_3
-  , c256_b_yellow
-  , c256_b_4
-  , c256_b_blue
-  , c256_b_5
-  , c256_b_magenta
-  , c256_b_6
-  , c256_b_cyan
-  , c256_b_7
-  , c256_b_white
-  , c256_b_8
-  , c256_b_grey
-  , c256_b_9
-  , c256_b_red_bright
-  , c256_b_10
-  , c256_b_green_bright
-  , c256_b_11
-  , c256_b_yellow_bright
-  , c256_b_12
-  , c256_b_blue_bright
-  , c256_b_13
-  , c256_b_magenta_bright
-  , c256_b_14
-  , c256_b_cyan_bright
-  , c256_b_15
-  , c256_b_white_bright
-  , c256_b_16
-  , c256_b_17
-  , c256_b_18
-  , c256_b_19
-  , c256_b_20
-  , c256_b_21
-  , c256_b_22
-  , c256_b_23
-  , c256_b_24
-  , c256_b_25
-  , c256_b_26
-  , c256_b_27
-  , c256_b_28
-  , c256_b_29
-  , c256_b_30
-  , c256_b_31
-  , c256_b_32
-  , c256_b_33
-  , c256_b_34
-  , c256_b_35
-  , c256_b_36
-  , c256_b_37
-  , c256_b_38
-  , c256_b_39
-  , c256_b_40
-  , c256_b_41
-  , c256_b_42
-  , c256_b_43
-  , c256_b_44
-  , c256_b_45
-  , c256_b_46
-  , c256_b_47
-  , c256_b_48
-  , c256_b_49
-  , c256_b_50
-  , c256_b_51
-  , c256_b_52
-  , c256_b_53
-  , c256_b_54
-  , c256_b_55
-  , c256_b_56
-  , c256_b_57
-  , c256_b_58
-  , c256_b_59
-  , c256_b_60
-  , c256_b_61
-  , c256_b_62
-  , c256_b_63
-  , c256_b_64
-  , c256_b_65
-  , c256_b_66
-  , c256_b_67
-  , c256_b_68
-  , c256_b_69
-  , c256_b_70
-  , c256_b_71
-  , c256_b_72
-  , c256_b_73
-  , c256_b_74
-  , c256_b_75
-  , c256_b_76
-  , c256_b_77
-  , c256_b_78
-  , c256_b_79
-  , c256_b_80
-  , c256_b_81
-  , c256_b_82
-  , c256_b_83
-  , c256_b_84
-  , c256_b_85
-  , c256_b_86
-  , c256_b_87
-  , c256_b_88
-  , c256_b_89
-  , c256_b_90
-  , c256_b_91
-  , c256_b_92
-  , c256_b_93
-  , c256_b_94
-  , c256_b_95
-  , c256_b_96
-  , c256_b_97
-  , c256_b_98
-  , c256_b_99
-  , c256_b_100
-  , c256_b_101
-  , c256_b_102
-  , c256_b_103
-  , c256_b_104
-  , c256_b_105
-  , c256_b_106
-  , c256_b_107
-  , c256_b_108
-  , c256_b_109
-  , c256_b_110
-  , c256_b_111
-  , c256_b_112
-  , c256_b_113
-  , c256_b_114
-  , c256_b_115
-  , c256_b_116
-  , c256_b_117
-  , c256_b_118
-  , c256_b_119
-  , c256_b_120
-  , c256_b_121
-  , c256_b_122
-  , c256_b_123
-  , c256_b_124
-  , c256_b_125
-  , c256_b_126
-  , c256_b_127
-  , c256_b_128
-  , c256_b_129
-  , c256_b_130
-  , c256_b_131
-  , c256_b_132
-  , c256_b_133
-  , c256_b_134
-  , c256_b_135
-  , c256_b_136
-  , c256_b_137
-  , c256_b_138
-  , c256_b_139
-  , c256_b_140
-  , c256_b_141
-  , c256_b_142
-  , c256_b_143
-  , c256_b_144
-  , c256_b_145
-  , c256_b_146
-  , c256_b_147
-  , c256_b_148
-  , c256_b_149
-  , c256_b_150
-  , c256_b_151
-  , c256_b_152
-  , c256_b_153
-  , c256_b_154
-  , c256_b_155
-  , c256_b_156
-  , c256_b_157
-  , c256_b_158
-  , c256_b_159
-  , c256_b_160
-  , c256_b_161
-  , c256_b_162
-  , c256_b_163
-  , c256_b_164
-  , c256_b_165
-  , c256_b_166
-  , c256_b_167
-  , c256_b_168
-  , c256_b_169
-  , c256_b_170
-  , c256_b_171
-  , c256_b_172
-  , c256_b_173
-  , c256_b_174
-  , c256_b_175
-  , c256_b_176
-  , c256_b_177
-  , c256_b_178
-  , c256_b_179
-  , c256_b_180
-  , c256_b_181
-  , c256_b_182
-  , c256_b_183
-  , c256_b_184
-  , c256_b_185
-  , c256_b_186
-  , c256_b_187
-  , c256_b_188
-  , c256_b_189
-  , c256_b_190
-  , c256_b_191
-  , c256_b_192
-  , c256_b_193
-  , c256_b_194
-  , c256_b_195
-  , c256_b_196
-  , c256_b_197
-  , c256_b_198
-  , c256_b_199
-  , c256_b_200
-  , c256_b_201
-  , c256_b_202
-  , c256_b_203
-  , c256_b_204
-  , c256_b_205
-  , c256_b_206
-  , c256_b_207
-  , c256_b_208
-  , c256_b_209
-  , c256_b_210
-  , c256_b_211
-  , c256_b_212
-  , c256_b_213
-  , c256_b_214
-  , c256_b_215
-  , c256_b_216
-  , c256_b_217
-  , c256_b_218
-  , c256_b_219
-  , c256_b_220
-  , c256_b_221
-  , c256_b_222
-  , c256_b_223
-  , c256_b_224
-  , c256_b_225
-  , c256_b_226
-  , c256_b_227
-  , c256_b_228
-  , c256_b_229
-  , c256_b_230
-  , c256_b_231
-  , c256_b_232
-  , c256_b_233
-  , c256_b_234
-  , c256_b_235
-  , c256_b_236
-  , c256_b_237
-  , c256_b_238
-  , c256_b_239
-  , c256_b_240
-  , c256_b_241
-  , c256_b_242
-  , c256_b_243
-  , c256_b_244
-  , c256_b_245
-  , c256_b_246
-  , c256_b_247
-  , c256_b_248
-  , c256_b_249
-  , c256_b_250
-  , c256_b_251
-  , c256_b_252
-  , c256_b_253
-  , c256_b_254
-  , c256_b_255
-
-  -- * Re-exports
-  , Monoid(..)
-  , (<>)
-  , Str.IsString(..)
-
-
-  -- * Create your own colors
-
-  -- * Style, TextSpec, and Chunk innards
-
-  -- | A style is a bundle of attributes that describes text
-  -- attributes, such as its color and whether it is bold.
-  --
-  -- Ordinarily you shouldn't need to use these types but they are
-  -- here in case they are useful; in particular, you can use them to
-  -- examine a Chunk's TextSpec to see what its characteristics are.
-  , StyleCommon(..)
-  , Style8(..)
-  , Style256(..)
-
-  , TextSpec (..)
-
-  -- * Basement
-
-  -- | Ordinarily you will not need the things down here. Instead, the
-  -- definitions above will give you a 'Chunk' that will
-  -- create the effect or color you need.
-
-  -- ** Wrappers for colors
-
-  -- | Definitions are provided above that give you every possible
-  -- color; however, these constructors are exported in case you want
-  -- to make your own colors instead. Use at your own risk, as you can
-  -- create non-sensical colors with this (such as 256-color colors in
-  -- a 'Background8'.)
-  , Background8
-  , Background256
-  , Foreground8
-  , Foreground256
-
-  ) where
-
-
--- # Imports
-
-import qualified Data.String as Str
-import Data.Monoid
-import Data.Text (Text)
-import Data.Maybe (fromMaybe)
-import qualified Data.Text as X
-import qualified System.Console.Terminfo as T
-import System.IO as IO
-import System.Environment as Env
-
---
--- Terminal definitions
---
-
--- | Which terminal definition to use.
-data Term
-  = Dumb
-  -- ^ Using this terminal should always succeed. This suppresses all
-  -- colors. Uesful if output is not going to a TTY, or if you just do
-  -- not like colors.
-
-  | TermName String
-  -- ^ Use the terminal with this given name. You might get this from
-  -- the TERM environment variable, or set it explicitly. A runtime
-  -- error will result if the terminfo database does not have a
-  -- definition for this terminal. If this terminal supports 256
-  -- colors, then 256 colors are used. If this terminal supports less
-  -- than 256 colors, but at least 8 colors, then 8 colors are
-  -- used. Otherwise, no colors are used.
-  deriving (Eq, Show)
-
--- | Gets the terminal definition from the environment. If the
--- environment does not have a TERM veriable, use 'Dumb'.
-termFromEnv :: IO Term
-termFromEnv = do
-  t <- fmap (lookup "TERM") Env.getEnvironment
-  return $ maybe Dumb TermName t
-
--- | Gets the terminal definition from the environment. If the first
--- argument is True, the terminal is always obtained from the
--- environment. If it is False, the terminal is only obtained from the
--- environment if the given handle is not a terminal; otherwise, Dumb
--- is returned.
-smartTermFromEnv
-  :: Bool
-  -- ^ Use True if the user always wants to see colors, even if
-  -- standard output is not a terminal. Otherwise, use False.
-
-  -> IO.Handle
-  -- ^ Check this handle to see if it is a terminal (typically you
-  -- will use stdout).
-
-  -> IO Term
-smartTermFromEnv alwaysColor h =
-  if alwaysColor
-  then termFromEnv
-  else do
-        isTerm <- IO.hIsTerminalDevice h
-        if isTerm
-          then termFromEnv
-          else return Dumb
-
--- For Background8, Background256, Foreground8, Foreground256: the
--- Last wraps a Maybe (Terminfo Color). If the inner Maybe is Nothing,
--- use the default color.
-
-type Background8 = Last (Maybe T.Color)
-type Background256 = Last (Maybe T.Color)
-type Foreground8 = Last (Maybe T.Color)
-type Foreground256 = Last (Maybe T.Color)
-
---
--- Styles
---
-
--- | Style elements that apply in both 8 and 256 color
--- terminals. However, the elements are described separately for 8 and
--- 256 color terminals, so that the text appearance can change
--- depending on how many colors a terminal has.
-data StyleCommon = StyleCommon
-  { scBold :: Last Bool
-  , scUnderline :: Last Bool
-  , scFlash :: Last Bool
-  , scInverse :: Last Bool
-  } deriving (Show, Eq, Ord)
-
-
-instance Monoid StyleCommon where
-  mempty = StyleCommon (Last Nothing) (Last Nothing)
-                       (Last Nothing) (Last Nothing)
-  mappend (StyleCommon b1 u1 f1 i1) (StyleCommon b2 u2 f2 i2)
-    = StyleCommon (b1 <> b2) (u1 <> u2) (f1 <> f2) (i1 <> i2)
-
--- | Describes text appearance (foreground and background colors, as
--- well as other attributes such as bold) for an 8 color terminal.
-data Style8 = Style8
-  { foreground8 :: Foreground8
-  , background8 :: Background8
-  , common8 :: StyleCommon
-  } deriving (Show, Eq, Ord)
-
-
-instance Monoid Style8 where
-  mappend (Style8 fx bx cx) (Style8 fy by cy)
-    = Style8 (fx <> fy) (bx <> by) (cx <> cy)
-  mempty = Style8 mempty mempty mempty
-
--- | Describes text appearance (foreground and background colors, as
--- well as other attributes such as bold) for a 256 color terminal.
-data Style256 = Style256
-  { foreground256 :: Foreground256
-  , background256 :: Background256
-  , common256 :: StyleCommon
-  } deriving (Show, Eq, Ord)
-
-
-instance Monoid Style256 where
-  mappend (Style256 fx bx cx) (Style256 fy by cy)
-    = Style256 (fx <> fy) (bx <> by) (cx <> cy)
-  mempty = Style256 mempty mempty mempty
-
---
--- TextSpec
---
-
--- | The TextSpec bundles together the styles for the 8 and 256 color
--- terminals, so that the text can be portrayed on any terminal.
-data TextSpec = TextSpec
-  { style8 :: Style8
-  , style256 :: Style256
-  } deriving (Show, Eq, Ord)
-
-
-instance Monoid TextSpec where
-  mappend (TextSpec x1 x2) (TextSpec y1 y2)
-    = TextSpec (x1 <> y1) (x2 <> y2)
-  mempty = TextSpec mempty mempty
-
---
--- Chunks
---
-
--- | A chunk is some textual data coupled with a description of what
--- color the text is, attributes like whether it is bold or
--- underlined, etc. The chunk knows what foreground and background
--- colors and what attributes to use for both an 8 color terminal and
--- a 256 color terminal.
-
-data Chunk = Chunk
-  { textSpec :: TextSpec
-  , text :: Text
-  } deriving (Eq, Show, Ord)
-
-
-instance Str.IsString Chunk where
-  fromString s = Chunk mempty (X.pack s)
-
-instance Monoid Chunk where
-  mempty = Chunk mempty mempty
-  mappend (Chunk s1 t1) (Chunk s2 t2) = Chunk (s1 <> s2) (t1 <> t2)
-
-
-defaultColors :: T.Terminal -> T.TermOutput
-defaultColors term =
-  fromMaybe mempty (T.getCapability term T.restoreDefaultColors)
-
-
-commonAttrs :: T.Terminal -> StyleCommon -> T.TermOutput
-commonAttrs t s =
-  let a = T.Attributes
-        { T.standoutAttr = False
-        , T.underlineAttr = fromMaybe False
-          . getLast . scUnderline $ s
-        , T.reverseAttr = fromMaybe False
-          . getLast . scInverse $ s
-        , T.blinkAttr = fromMaybe False
-          . getLast . scFlash $ s
-        , T.dimAttr = False
-        , T.boldAttr = fromMaybe False
-          . getLast . scBold $ s
-        , T.invisibleAttr = False
-        , T.protectedAttr = False
-        }
-  in case T.getCapability t (T.setAttributes) of
-      Nothing -> error $ "System.Console.Rainbow: commonAttrs: "
-                 ++ "capability failed; should never happen"
-      Just f -> f a
-
-
--- | Gets the right set of terminal codes to apply the desired
--- highlighting, bold, underlining, etc. Be sure to apply the
--- attributes first (bold, underlining, etc) and then the
--- colors. Setting the colors first and then the attributes seems to
--- reset the colors, giving blank output.
-getTermCodes
-  :: T.Terminal
-  -> TextSpec
-  -> T.TermOutput
-getTermCodes t ts = fromMaybe mempty $ do
-  cols <- T.getCapability t T.termColors
-  let TextSpec s8 s256 = ts
-      Style8 f8 b8 c8 = s8
-      Style256 f256 b256 c256 = s256
-  setFg <- T.getCapability t T.setForegroundColor
-  setBg <- T.getCapability t T.setBackgroundColor
-  (fg, bg, cm) <- case () of
-    _ | cols >= 256 -> Just $ ( getLast f256
-                              , getLast b256
-                              , c256)
-      | cols >= 8 -> Just ( getLast f8
-                         , getLast b8
-                         , c8)
-      | otherwise -> Nothing
-  let oFg = maybe mempty (maybe mempty setFg) fg
-      oBg = maybe mempty (maybe mempty setBg) bg
-      oCm = commonAttrs t cm
-  return $ mconcat [oCm, oFg, oBg]
-
-
-hPrintChunk :: IO.Handle -> T.Terminal -> Chunk -> IO ()
-hPrintChunk h t (Chunk ts x) =
-  T.hRunTermOutput h t
-  . mconcat
-  $ [defaultColors t, codes, txt]
-  where
-    codes = getTermCodes t ts
-    txt = T.termText . X.unpack $ x
-
--- | Sends a list of chunks to the given handle for printing. Sets up
--- the terminal (this only needs to be done once.) Lazily processes
--- the list of Chunk. See 'putChunks' for notes on how many colors
--- are used.
-hPutChunks :: IO.Handle -> Term -> [Chunk] -> IO ()
-hPutChunks h t cs = do
-  let setup = case t of
-        Dumb -> T.setupTerm "dumb"
-        TermName s -> T.setupTerm s
-  term <- setup
-  mapM_ (hPrintChunk h term) cs
-  T.hRunTermOutput h term (defaultColors term)
-  T.hRunTermOutput h term
-    $ case T.getCapability term T.allAttributesOff of
-        Nothing -> error $ "System.Console.Rainbow.putChunks: error: "
-                   ++ "allAttributesOff failed"
-        Just s -> s
-
--- | Sends a list of chunks to standard output for printing. Sets up
--- the terminal (this only needs to be done once.) Lazily processes
--- the list of Chunk.
---
--- Which colors are used depends upon the 'Term'. If it is 'Dumb',
--- then no colors are used on output. If the 'Term' is specified with
--- 'TermName', the UNIX terminfo library is used to determine how many
--- colors the terminal supports. If it supports at least 256 colors,
--- then 256 colors are used. If it supports at least 8 colors but less
--- than 256 colors, then 256 colors are used. Otherwise, no colors are
--- used. A runtime error will occur if the 'TermName' is not found in
--- the system terminal database.
-putChunks :: Term -> [Chunk] -> IO ()
-putChunks = hPutChunks IO.stdout
-
--- | Print one chunk at a time, to a handle
-hPutChunk :: IO.Handle -> Chunk -> IO ()
-hPutChunk h c = do
-  t <- termFromEnv
-  hPutChunks h t [c]
-
--- | Print one chunk at a time, to standard output
-putChunk :: Chunk -> IO ()
-putChunk = hPutChunk IO.stdout
-
--- | Print one chunk at a time, to a handle, append a newline
-hPutChunkLn :: IO.Handle -> Chunk -> IO ()
-hPutChunkLn h c = hPutChunk h c >> IO.hPutStr h "\n"
-
--- | Print one chunk at a time, to standard output, append a newline
-putChunkLn :: Chunk -> IO ()
-putChunkLn c = putChunk c >> putStr "\n"
-
-bold8 :: Chunk
-bold8 = x {
-  textSpec = (textSpec x) {
-    style8 = (style8 (textSpec x)) {
-      common8 = (common8 (style8 (textSpec x))) {
-        scBold = Last (Just True) }}}}
-  where
-    x = mempty
-
-bold8off :: Chunk
-bold8off = x {
-  textSpec = (textSpec x) {
-    style8 = (style8 (textSpec x)) {
-      common8 = (common8 (style8 (textSpec x))) {
-        scBold = Last (Just False) }}}}
-  where
-    x = mempty
-
-
-underline8 :: Chunk
-underline8 = x {
-  textSpec = (textSpec x) {
-    style8 = (style8 (textSpec x)) {
-      common8 = (common8 (style8 (textSpec x))) {
-        scUnderline = Last (Just True) }}}}
-  where
-    x = mempty
-
-
-underline8off :: Chunk
-underline8off = x {
-  textSpec = (textSpec x) {
-    style8 = (style8 (textSpec x)) {
-      common8 = (common8 (style8 (textSpec x))) {
-        scUnderline = Last (Just False) }}}}
-  where
-    x = mempty
-
-flash8 :: Chunk
-flash8 = x {
-  textSpec = (textSpec x) {
-    style8 = (style8 (textSpec x)) {
-      common8 = (common8 (style8 (textSpec x))) {
-        scFlash = Last (Just True) }}}}
-  where
-    x = mempty
-
-flash8off :: Chunk
-flash8off = x {
-  textSpec = (textSpec x) {
-    style8 = (style8 (textSpec x)) {
-      common8 = (common8 (style8 (textSpec x))) {
-        scFlash = Last (Just False) }}}}
-  where
-    x = mempty
-
-
-inverse8 :: Chunk
-inverse8 = x {
-  textSpec = (textSpec x) {
-    style8 = (style8 (textSpec x)) {
-      common8 = (common8 (style8 (textSpec x))) {
-        scInverse = Last (Just True) }}}}
-  where
-    x = mempty
-
-inverse8off :: Chunk
-inverse8off = x {
-  textSpec = (textSpec x) {
-    style8 = (style8 (textSpec x)) {
-      common8 = (common8 (style8 (textSpec x))) {
-        scInverse = Last (Just False) }}}}
-  where
-    x = mempty
-
-
-underline256 :: Chunk
-underline256 = x {
-  textSpec = (textSpec x) {
-    style256 = (style256 (textSpec x)) {
-      common256 = (common256 (style256 (textSpec x))) {
-        scUnderline = Last (Just True) }}}}
-  where
-    x = mempty
-
-
-underline256off :: Chunk
-underline256off = x {
-  textSpec = (textSpec x) {
-    style256 = (style256 (textSpec x)) {
-      common256 = (common256 (style256 (textSpec x))) {
-        scUnderline = Last (Just False) }}}}
-  where
-    x = mempty
-
-bold256 :: Chunk
-bold256 = x {
-  textSpec = (textSpec x) {
-    style256 = (style256 (textSpec x)) {
-      common256 = (common256 (style256 (textSpec x))) {
-        scBold = Last (Just True) }}}}
-  where
-    x = mempty
-
-bold256off :: Chunk
-bold256off = x {
-  textSpec = (textSpec x) {
-    style256 = (style256 (textSpec x)) {
-      common256 = (common256 (style256 (textSpec x))) {
-        scBold = Last (Just False) }}}}
-  where
-    x = mempty
-
-
-inverse256 :: Chunk
-inverse256 = x {
-  textSpec = (textSpec x) {
-    style256 = (style256 (textSpec x)) {
-      common256 = (common256 (style256 (textSpec x))) {
-        scInverse = Last (Just True) }}}}
-  where
-    x = mempty
-
-inverse256off :: Chunk
-inverse256off = x {
-  textSpec = (textSpec x) {
-    style256 = (style256 (textSpec x)) {
-      common256 = (common256 (style256 (textSpec x))) {
-        scInverse = Last (Just False) }}}}
-  where
-    x = mempty
-
-
-flash256 :: Chunk
-flash256 = x {
-  textSpec = (textSpec x) {
-    style256 = (style256 (textSpec x)) {
-      common256 = (common256 (style256 (textSpec x))) {
-        scFlash = Last (Just True) }}}}
-  where
-    x = mempty
-
-
-flash256off :: Chunk
-flash256off = x {
-  textSpec = (textSpec x) {
-    style256 = (style256 (textSpec x)) {
-      common256 = (common256 (style256 (textSpec x))) {
-        scFlash = Last (Just False) }}}}
-  where
-    x = mempty
-
-
---
--- All
---
-
-
--- | Bold. What actually happens when you use Bold is going to depend
--- on your terminal. For example, xterm allows you actually use a bold
--- font for bold, if you have one. Otherwise, it might simulate bold
--- by using overstriking. Another possibility is that your terminal
--- might use a different color to indicate bold. For more details (at
--- least for xterm), look at xterm (1) and search for @boldColors@.
---
--- If your terminal uses a different color for bold, this allows an
--- 8-color terminal to really have 16 colors.
-bold :: Chunk
-bold = bold8 <> bold256
-
-boldOff :: Chunk
-boldOff = bold8off <> bold256off
-
-inverse :: Chunk
-inverse = inverse8 <> inverse256
-
-inverseOff :: Chunk
-inverseOff = inverse8off <> inverse256off
-
-flash :: Chunk
-flash = flash8 <> flash256
-
-flashOff :: Chunk
-flashOff = flash8off <> flash256off
-
-underline :: Chunk
-underline = underline8 <> underline256
-
-underlineOff :: Chunk
-underlineOff = underline8off <> underline256off
-
-f_default :: Chunk
-f_default = c8_f_default <> c256_f_default
-
-f_black :: Chunk
-f_black = c8_f_black <> c256_f_black
-
-f_red :: Chunk
-f_red = c8_f_red <> c256_f_red
-
-f_green :: Chunk
-f_green = c8_f_green <> c256_f_green
-
-f_yellow :: Chunk
-f_yellow = c8_f_yellow <> c256_f_yellow
-
-f_blue :: Chunk
-f_blue = c8_f_blue <> c256_f_blue
-
-f_magenta :: Chunk
-f_magenta = c8_f_magenta <> c256_f_magenta
-
-f_cyan :: Chunk
-f_cyan = c8_f_cyan <> c256_f_cyan
-
-f_white :: Chunk
-f_white = c8_f_white <> c256_f_white
-
-b_default :: Chunk
-b_default = c8_b_default <> c256_b_default
-
-b_black :: Chunk
-b_black = c8_b_black <> c256_b_black
-
-b_red :: Chunk
-b_red = c8_b_red <> c256_b_red
-
-b_green :: Chunk
-b_green = c8_b_green <> c256_b_green
-
-b_yellow :: Chunk
-b_yellow = c8_b_yellow <> c256_b_yellow
-
-b_blue :: Chunk
-b_blue = c8_b_blue <> c256_b_blue
-
-b_magenta :: Chunk
-b_magenta = c8_b_magenta <> c256_b_magenta
-
-b_cyan :: Chunk
-b_cyan = c8_b_cyan <> c256_b_cyan
-
-b_white :: Chunk
-b_white = c8_b_white <> c256_b_white
-
-
---
--- Color basement
---
-
-fc8 :: Maybe T.Color -> Chunk
-fc8 c = x { textSpec = (textSpec x) {
-  style8 = (style8 (textSpec x)) {
-    foreground8 = Last (Just c) }}}
-  where
-    x = mempty
-
-c8_f_default :: Chunk
-c8_f_default = fc8 Nothing
-
-
-c8_f_black :: Chunk
-c8_f_black = fc8 (Just T.Black)
-
-c8_f_red :: Chunk
-c8_f_red = fc8 (Just T.Red)
-
-c8_f_green :: Chunk
-c8_f_green = fc8 (Just T.Green)
-
-c8_f_yellow :: Chunk
-c8_f_yellow = fc8 (Just T.Yellow)
-
-c8_f_blue :: Chunk
-c8_f_blue = fc8 (Just T.Blue)
-
-c8_f_magenta :: Chunk
-c8_f_magenta = fc8 (Just T.Magenta)
-
-c8_f_cyan :: Chunk
-c8_f_cyan = fc8 (Just T.Cyan)
-
-c8_f_white :: Chunk
-c8_f_white = fc8 (Just T.White)
-
-
-bc8 :: Maybe T.Color -> Chunk
-bc8 c = x { textSpec = (textSpec x) {
-  style8 = (style8 (textSpec x)) {
-    background8 = Last (Just c) }}}
-  where
-    x = mempty
-
-c8_b_default :: Chunk
-c8_b_default = bc8 Nothing
-
-c8_b_black :: Chunk
-c8_b_black = bc8 (Just T.Black)
-
-c8_b_red :: Chunk
-c8_b_red = bc8 (Just T.Red)
-
-c8_b_green :: Chunk
-c8_b_green = bc8 (Just T.Green)
-
-c8_b_yellow :: Chunk
-c8_b_yellow = bc8 (Just T.Yellow)
-
-c8_b_blue :: Chunk
-c8_b_blue = bc8 (Just T.Blue)
-
-c8_b_magenta :: Chunk
-c8_b_magenta = bc8 (Just T.Magenta)
-
-c8_b_cyan :: Chunk
-c8_b_cyan = bc8 (Just T.Cyan)
-
-c8_b_white :: Chunk
-c8_b_white = bc8 (Just T.White)
-
-fc256 :: Maybe T.Color -> Chunk
-fc256 c = x { textSpec = (textSpec x) {
-  style256 = (style256 (textSpec x)) {
-    foreground256 = Last (Just c) }}}
-  where
-    x = mempty
-
-c256_f_default :: Chunk
-c256_f_default = fc256 Nothing
-
-
-c256_f_0 :: Chunk
-c256_f_0 = fc256 (Just (T.ColorNumber 0))
-
-c256_f_black :: Chunk
-c256_f_black = fc256 (Just (T.ColorNumber 0))
-
-c256_f_1 :: Chunk
-c256_f_1 = fc256 (Just (T.ColorNumber 1))
-
-c256_f_red :: Chunk
-c256_f_red = fc256 (Just (T.ColorNumber 1))
-
-c256_f_2 :: Chunk
-c256_f_2 = fc256 (Just (T.ColorNumber 2))
-
-c256_f_green :: Chunk
-c256_f_green = fc256 (Just (T.ColorNumber 2))
-
-c256_f_3 :: Chunk
-c256_f_3 = fc256 (Just (T.ColorNumber 3))
-
-c256_f_yellow :: Chunk
-c256_f_yellow = fc256 (Just (T.ColorNumber 3))
-
-c256_f_4 :: Chunk
-c256_f_4 = fc256 (Just (T.ColorNumber 4))
-
-c256_f_blue :: Chunk
-c256_f_blue = fc256 (Just (T.ColorNumber 4))
-
-c256_f_5 :: Chunk
-c256_f_5 = fc256 (Just (T.ColorNumber 5))
-
-c256_f_magenta :: Chunk
-c256_f_magenta = fc256 (Just (T.ColorNumber 5))
-
-c256_f_6 :: Chunk
-c256_f_6 = fc256 (Just (T.ColorNumber 6))
-
-c256_f_cyan :: Chunk
-c256_f_cyan = fc256 (Just (T.ColorNumber 6))
-
-c256_f_7 :: Chunk
-c256_f_7 = fc256 (Just (T.ColorNumber 7))
-
-c256_f_white :: Chunk
-c256_f_white = fc256 (Just (T.ColorNumber 7))
-
-c256_f_8 :: Chunk
-c256_f_8 = fc256 (Just (T.ColorNumber 8))
-
-c256_f_grey :: Chunk
-c256_f_grey = fc256 (Just (T.ColorNumber 8))
-
-c256_f_9 :: Chunk
-c256_f_9 = fc256 (Just (T.ColorNumber 9))
-
-c256_f_red_bright :: Chunk
-c256_f_red_bright = fc256 (Just (T.ColorNumber 9))
-
-c256_f_10 :: Chunk
-c256_f_10 = fc256 (Just (T.ColorNumber 10))
-
-c256_f_green_bright :: Chunk
-c256_f_green_bright = fc256 (Just (T.ColorNumber 10))
-
-c256_f_11 :: Chunk
-c256_f_11 = fc256 (Just (T.ColorNumber 11))
-
-c256_f_yellow_bright :: Chunk
-c256_f_yellow_bright = fc256 (Just (T.ColorNumber 11))
-
-c256_f_12 :: Chunk
-c256_f_12 = fc256 (Just (T.ColorNumber 12))
-
-c256_f_blue_bright :: Chunk
-c256_f_blue_bright = fc256 (Just (T.ColorNumber 12))
-
-c256_f_13 :: Chunk
-c256_f_13 = fc256 (Just (T.ColorNumber 13))
-
-c256_f_magenta_bright :: Chunk
-c256_f_magenta_bright = fc256 (Just (T.ColorNumber 13))
-
-c256_f_14 :: Chunk
-c256_f_14 = fc256 (Just (T.ColorNumber 14))
-
-c256_f_cyan_bright :: Chunk
-c256_f_cyan_bright = fc256 (Just (T.ColorNumber 14))
-
-c256_f_15 :: Chunk
-c256_f_15 = fc256 (Just (T.ColorNumber 15))
-
-c256_f_white_bright :: Chunk
-c256_f_white_bright = fc256 (Just (T.ColorNumber 15))
-
-c256_f_16 :: Chunk
-c256_f_16 = fc256 (Just (T.ColorNumber 16))
-
-c256_f_17 :: Chunk
-c256_f_17 = fc256 (Just (T.ColorNumber 17))
-
-c256_f_18 :: Chunk
-c256_f_18 = fc256 (Just (T.ColorNumber 18))
-
-c256_f_19 :: Chunk
-c256_f_19 = fc256 (Just (T.ColorNumber 19))
-
-c256_f_20 :: Chunk
-c256_f_20 = fc256 (Just (T.ColorNumber 20))
-
-c256_f_21 :: Chunk
-c256_f_21 = fc256 (Just (T.ColorNumber 21))
-
-c256_f_22 :: Chunk
-c256_f_22 = fc256 (Just (T.ColorNumber 22))
-
-c256_f_23 :: Chunk
-c256_f_23 = fc256 (Just (T.ColorNumber 23))
-
-c256_f_24 :: Chunk
-c256_f_24 = fc256 (Just (T.ColorNumber 24))
-
-c256_f_25 :: Chunk
-c256_f_25 = fc256 (Just (T.ColorNumber 25))
-
-c256_f_26 :: Chunk
-c256_f_26 = fc256 (Just (T.ColorNumber 26))
-
-c256_f_27 :: Chunk
-c256_f_27 = fc256 (Just (T.ColorNumber 27))
-
-c256_f_28 :: Chunk
-c256_f_28 = fc256 (Just (T.ColorNumber 28))
-
-c256_f_29 :: Chunk
-c256_f_29 = fc256 (Just (T.ColorNumber 29))
-
-c256_f_30 :: Chunk
-c256_f_30 = fc256 (Just (T.ColorNumber 30))
-
-c256_f_31 :: Chunk
-c256_f_31 = fc256 (Just (T.ColorNumber 31))
-
-c256_f_32 :: Chunk
-c256_f_32 = fc256 (Just (T.ColorNumber 32))
-
-c256_f_33 :: Chunk
-c256_f_33 = fc256 (Just (T.ColorNumber 33))
-
-c256_f_34 :: Chunk
-c256_f_34 = fc256 (Just (T.ColorNumber 34))
-
-c256_f_35 :: Chunk
-c256_f_35 = fc256 (Just (T.ColorNumber 35))
-
-c256_f_36 :: Chunk
-c256_f_36 = fc256 (Just (T.ColorNumber 36))
-
-c256_f_37 :: Chunk
-c256_f_37 = fc256 (Just (T.ColorNumber 37))
-
-c256_f_38 :: Chunk
-c256_f_38 = fc256 (Just (T.ColorNumber 38))
-
-c256_f_39 :: Chunk
-c256_f_39 = fc256 (Just (T.ColorNumber 39))
-
-c256_f_40 :: Chunk
-c256_f_40 = fc256 (Just (T.ColorNumber 40))
-
-c256_f_41 :: Chunk
-c256_f_41 = fc256 (Just (T.ColorNumber 41))
-
-c256_f_42 :: Chunk
-c256_f_42 = fc256 (Just (T.ColorNumber 42))
-
-c256_f_43 :: Chunk
-c256_f_43 = fc256 (Just (T.ColorNumber 43))
-
-c256_f_44 :: Chunk
-c256_f_44 = fc256 (Just (T.ColorNumber 44))
-
-c256_f_45 :: Chunk
-c256_f_45 = fc256 (Just (T.ColorNumber 45))
-
-c256_f_46 :: Chunk
-c256_f_46 = fc256 (Just (T.ColorNumber 46))
-
-c256_f_47 :: Chunk
-c256_f_47 = fc256 (Just (T.ColorNumber 47))
-
-c256_f_48 :: Chunk
-c256_f_48 = fc256 (Just (T.ColorNumber 48))
-
-c256_f_49 :: Chunk
-c256_f_49 = fc256 (Just (T.ColorNumber 49))
-
-c256_f_50 :: Chunk
-c256_f_50 = fc256 (Just (T.ColorNumber 50))
-
-c256_f_51 :: Chunk
-c256_f_51 = fc256 (Just (T.ColorNumber 51))
-
-c256_f_52 :: Chunk
-c256_f_52 = fc256 (Just (T.ColorNumber 52))
-
-c256_f_53 :: Chunk
-c256_f_53 = fc256 (Just (T.ColorNumber 53))
-
-c256_f_54 :: Chunk
-c256_f_54 = fc256 (Just (T.ColorNumber 54))
-
-c256_f_55 :: Chunk
-c256_f_55 = fc256 (Just (T.ColorNumber 55))
-
-c256_f_56 :: Chunk
-c256_f_56 = fc256 (Just (T.ColorNumber 56))
-
-c256_f_57 :: Chunk
-c256_f_57 = fc256 (Just (T.ColorNumber 57))
-
-c256_f_58 :: Chunk
-c256_f_58 = fc256 (Just (T.ColorNumber 58))
-
-c256_f_59 :: Chunk
-c256_f_59 = fc256 (Just (T.ColorNumber 59))
-
-c256_f_60 :: Chunk
-c256_f_60 = fc256 (Just (T.ColorNumber 60))
-
-c256_f_61 :: Chunk
-c256_f_61 = fc256 (Just (T.ColorNumber 61))
-
-c256_f_62 :: Chunk
-c256_f_62 = fc256 (Just (T.ColorNumber 62))
-
-c256_f_63 :: Chunk
-c256_f_63 = fc256 (Just (T.ColorNumber 63))
-
-c256_f_64 :: Chunk
-c256_f_64 = fc256 (Just (T.ColorNumber 64))
-
-c256_f_65 :: Chunk
-c256_f_65 = fc256 (Just (T.ColorNumber 65))
-
-c256_f_66 :: Chunk
-c256_f_66 = fc256 (Just (T.ColorNumber 66))
-
-c256_f_67 :: Chunk
-c256_f_67 = fc256 (Just (T.ColorNumber 67))
-
-c256_f_68 :: Chunk
-c256_f_68 = fc256 (Just (T.ColorNumber 68))
-
-c256_f_69 :: Chunk
-c256_f_69 = fc256 (Just (T.ColorNumber 69))
-
-c256_f_70 :: Chunk
-c256_f_70 = fc256 (Just (T.ColorNumber 70))
-
-c256_f_71 :: Chunk
-c256_f_71 = fc256 (Just (T.ColorNumber 71))
-
-c256_f_72 :: Chunk
-c256_f_72 = fc256 (Just (T.ColorNumber 72))
-
-c256_f_73 :: Chunk
-c256_f_73 = fc256 (Just (T.ColorNumber 73))
-
-c256_f_74 :: Chunk
-c256_f_74 = fc256 (Just (T.ColorNumber 74))
-
-c256_f_75 :: Chunk
-c256_f_75 = fc256 (Just (T.ColorNumber 75))
-
-c256_f_76 :: Chunk
-c256_f_76 = fc256 (Just (T.ColorNumber 76))
-
-c256_f_77 :: Chunk
-c256_f_77 = fc256 (Just (T.ColorNumber 77))
-
-c256_f_78 :: Chunk
-c256_f_78 = fc256 (Just (T.ColorNumber 78))
-
-c256_f_79 :: Chunk
-c256_f_79 = fc256 (Just (T.ColorNumber 79))
-
-c256_f_80 :: Chunk
-c256_f_80 = fc256 (Just (T.ColorNumber 80))
-
-c256_f_81 :: Chunk
-c256_f_81 = fc256 (Just (T.ColorNumber 81))
-
-c256_f_82 :: Chunk
-c256_f_82 = fc256 (Just (T.ColorNumber 82))
-
-c256_f_83 :: Chunk
-c256_f_83 = fc256 (Just (T.ColorNumber 83))
-
-c256_f_84 :: Chunk
-c256_f_84 = fc256 (Just (T.ColorNumber 84))
-
-c256_f_85 :: Chunk
-c256_f_85 = fc256 (Just (T.ColorNumber 85))
-
-c256_f_86 :: Chunk
-c256_f_86 = fc256 (Just (T.ColorNumber 86))
-
-c256_f_87 :: Chunk
-c256_f_87 = fc256 (Just (T.ColorNumber 87))
-
-c256_f_88 :: Chunk
-c256_f_88 = fc256 (Just (T.ColorNumber 88))
-
-c256_f_89 :: Chunk
-c256_f_89 = fc256 (Just (T.ColorNumber 89))
-
-c256_f_90 :: Chunk
-c256_f_90 = fc256 (Just (T.ColorNumber 90))
-
-c256_f_91 :: Chunk
-c256_f_91 = fc256 (Just (T.ColorNumber 91))
-
-c256_f_92 :: Chunk
-c256_f_92 = fc256 (Just (T.ColorNumber 92))
-
-c256_f_93 :: Chunk
-c256_f_93 = fc256 (Just (T.ColorNumber 93))
-
-c256_f_94 :: Chunk
-c256_f_94 = fc256 (Just (T.ColorNumber 94))
-
-c256_f_95 :: Chunk
-c256_f_95 = fc256 (Just (T.ColorNumber 95))
-
-c256_f_96 :: Chunk
-c256_f_96 = fc256 (Just (T.ColorNumber 96))
-
-c256_f_97 :: Chunk
-c256_f_97 = fc256 (Just (T.ColorNumber 97))
-
-c256_f_98 :: Chunk
-c256_f_98 = fc256 (Just (T.ColorNumber 98))
-
-c256_f_99 :: Chunk
-c256_f_99 = fc256 (Just (T.ColorNumber 99))
-
-c256_f_100 :: Chunk
-c256_f_100 = fc256 (Just (T.ColorNumber 100))
-
-c256_f_101 :: Chunk
-c256_f_101 = fc256 (Just (T.ColorNumber 101))
-
-c256_f_102 :: Chunk
-c256_f_102 = fc256 (Just (T.ColorNumber 102))
-
-c256_f_103 :: Chunk
-c256_f_103 = fc256 (Just (T.ColorNumber 103))
-
-c256_f_104 :: Chunk
-c256_f_104 = fc256 (Just (T.ColorNumber 104))
-
-c256_f_105 :: Chunk
-c256_f_105 = fc256 (Just (T.ColorNumber 105))
-
-c256_f_106 :: Chunk
-c256_f_106 = fc256 (Just (T.ColorNumber 106))
-
-c256_f_107 :: Chunk
-c256_f_107 = fc256 (Just (T.ColorNumber 107))
-
-c256_f_108 :: Chunk
-c256_f_108 = fc256 (Just (T.ColorNumber 108))
-
-c256_f_109 :: Chunk
-c256_f_109 = fc256 (Just (T.ColorNumber 109))
-
-c256_f_110 :: Chunk
-c256_f_110 = fc256 (Just (T.ColorNumber 110))
-
-c256_f_111 :: Chunk
-c256_f_111 = fc256 (Just (T.ColorNumber 111))
-
-c256_f_112 :: Chunk
-c256_f_112 = fc256 (Just (T.ColorNumber 112))
-
-c256_f_113 :: Chunk
-c256_f_113 = fc256 (Just (T.ColorNumber 113))
-
-c256_f_114 :: Chunk
-c256_f_114 = fc256 (Just (T.ColorNumber 114))
-
-c256_f_115 :: Chunk
-c256_f_115 = fc256 (Just (T.ColorNumber 115))
-
-c256_f_116 :: Chunk
-c256_f_116 = fc256 (Just (T.ColorNumber 116))
-
-c256_f_117 :: Chunk
-c256_f_117 = fc256 (Just (T.ColorNumber 117))
-
-c256_f_118 :: Chunk
-c256_f_118 = fc256 (Just (T.ColorNumber 118))
-
-c256_f_119 :: Chunk
-c256_f_119 = fc256 (Just (T.ColorNumber 119))
-
-c256_f_120 :: Chunk
-c256_f_120 = fc256 (Just (T.ColorNumber 120))
-
-c256_f_121 :: Chunk
-c256_f_121 = fc256 (Just (T.ColorNumber 121))
-
-c256_f_122 :: Chunk
-c256_f_122 = fc256 (Just (T.ColorNumber 122))
-
-c256_f_123 :: Chunk
-c256_f_123 = fc256 (Just (T.ColorNumber 123))
-
-c256_f_124 :: Chunk
-c256_f_124 = fc256 (Just (T.ColorNumber 124))
-
-c256_f_125 :: Chunk
-c256_f_125 = fc256 (Just (T.ColorNumber 125))
-
-c256_f_126 :: Chunk
-c256_f_126 = fc256 (Just (T.ColorNumber 126))
-
-c256_f_127 :: Chunk
-c256_f_127 = fc256 (Just (T.ColorNumber 127))
-
-c256_f_128 :: Chunk
-c256_f_128 = fc256 (Just (T.ColorNumber 128))
-
-c256_f_129 :: Chunk
-c256_f_129 = fc256 (Just (T.ColorNumber 129))
-
-c256_f_130 :: Chunk
-c256_f_130 = fc256 (Just (T.ColorNumber 130))
-
-c256_f_131 :: Chunk
-c256_f_131 = fc256 (Just (T.ColorNumber 131))
-
-c256_f_132 :: Chunk
-c256_f_132 = fc256 (Just (T.ColorNumber 132))
-
-c256_f_133 :: Chunk
-c256_f_133 = fc256 (Just (T.ColorNumber 133))
-
-c256_f_134 :: Chunk
-c256_f_134 = fc256 (Just (T.ColorNumber 134))
-
-c256_f_135 :: Chunk
-c256_f_135 = fc256 (Just (T.ColorNumber 135))
-
-c256_f_136 :: Chunk
-c256_f_136 = fc256 (Just (T.ColorNumber 136))
-
-c256_f_137 :: Chunk
-c256_f_137 = fc256 (Just (T.ColorNumber 137))
-
-c256_f_138 :: Chunk
-c256_f_138 = fc256 (Just (T.ColorNumber 138))
-
-c256_f_139 :: Chunk
-c256_f_139 = fc256 (Just (T.ColorNumber 139))
-
-c256_f_140 :: Chunk
-c256_f_140 = fc256 (Just (T.ColorNumber 140))
-
-c256_f_141 :: Chunk
-c256_f_141 = fc256 (Just (T.ColorNumber 141))
-
-c256_f_142 :: Chunk
-c256_f_142 = fc256 (Just (T.ColorNumber 142))
-
-c256_f_143 :: Chunk
-c256_f_143 = fc256 (Just (T.ColorNumber 143))
-
-c256_f_144 :: Chunk
-c256_f_144 = fc256 (Just (T.ColorNumber 144))
-
-c256_f_145 :: Chunk
-c256_f_145 = fc256 (Just (T.ColorNumber 145))
-
-c256_f_146 :: Chunk
-c256_f_146 = fc256 (Just (T.ColorNumber 146))
-
-c256_f_147 :: Chunk
-c256_f_147 = fc256 (Just (T.ColorNumber 147))
-
-c256_f_148 :: Chunk
-c256_f_148 = fc256 (Just (T.ColorNumber 148))
-
-c256_f_149 :: Chunk
-c256_f_149 = fc256 (Just (T.ColorNumber 149))
-
-c256_f_150 :: Chunk
-c256_f_150 = fc256 (Just (T.ColorNumber 150))
-
-c256_f_151 :: Chunk
-c256_f_151 = fc256 (Just (T.ColorNumber 151))
-
-c256_f_152 :: Chunk
-c256_f_152 = fc256 (Just (T.ColorNumber 152))
-
-c256_f_153 :: Chunk
-c256_f_153 = fc256 (Just (T.ColorNumber 153))
-
-c256_f_154 :: Chunk
-c256_f_154 = fc256 (Just (T.ColorNumber 154))
-
-c256_f_155 :: Chunk
-c256_f_155 = fc256 (Just (T.ColorNumber 155))
-
-c256_f_156 :: Chunk
-c256_f_156 = fc256 (Just (T.ColorNumber 156))
-
-c256_f_157 :: Chunk
-c256_f_157 = fc256 (Just (T.ColorNumber 157))
-
-c256_f_158 :: Chunk
-c256_f_158 = fc256 (Just (T.ColorNumber 158))
-
-c256_f_159 :: Chunk
-c256_f_159 = fc256 (Just (T.ColorNumber 159))
-
-c256_f_160 :: Chunk
-c256_f_160 = fc256 (Just (T.ColorNumber 160))
-
-c256_f_161 :: Chunk
-c256_f_161 = fc256 (Just (T.ColorNumber 161))
-
-c256_f_162 :: Chunk
-c256_f_162 = fc256 (Just (T.ColorNumber 162))
-
-c256_f_163 :: Chunk
-c256_f_163 = fc256 (Just (T.ColorNumber 163))
-
-c256_f_164 :: Chunk
-c256_f_164 = fc256 (Just (T.ColorNumber 164))
-
-c256_f_165 :: Chunk
-c256_f_165 = fc256 (Just (T.ColorNumber 165))
-
-c256_f_166 :: Chunk
-c256_f_166 = fc256 (Just (T.ColorNumber 166))
-
-c256_f_167 :: Chunk
-c256_f_167 = fc256 (Just (T.ColorNumber 167))
-
-c256_f_168 :: Chunk
-c256_f_168 = fc256 (Just (T.ColorNumber 168))
-
-c256_f_169 :: Chunk
-c256_f_169 = fc256 (Just (T.ColorNumber 169))
-
-c256_f_170 :: Chunk
-c256_f_170 = fc256 (Just (T.ColorNumber 170))
-
-c256_f_171 :: Chunk
-c256_f_171 = fc256 (Just (T.ColorNumber 171))
-
-c256_f_172 :: Chunk
-c256_f_172 = fc256 (Just (T.ColorNumber 172))
-
-c256_f_173 :: Chunk
-c256_f_173 = fc256 (Just (T.ColorNumber 173))
-
-c256_f_174 :: Chunk
-c256_f_174 = fc256 (Just (T.ColorNumber 174))
-
-c256_f_175 :: Chunk
-c256_f_175 = fc256 (Just (T.ColorNumber 175))
-
-c256_f_176 :: Chunk
-c256_f_176 = fc256 (Just (T.ColorNumber 176))
-
-c256_f_177 :: Chunk
-c256_f_177 = fc256 (Just (T.ColorNumber 177))
-
-c256_f_178 :: Chunk
-c256_f_178 = fc256 (Just (T.ColorNumber 178))
-
-c256_f_179 :: Chunk
-c256_f_179 = fc256 (Just (T.ColorNumber 179))
-
-c256_f_180 :: Chunk
-c256_f_180 = fc256 (Just (T.ColorNumber 180))
-
-c256_f_181 :: Chunk
-c256_f_181 = fc256 (Just (T.ColorNumber 181))
-
-c256_f_182 :: Chunk
-c256_f_182 = fc256 (Just (T.ColorNumber 182))
-
-c256_f_183 :: Chunk
-c256_f_183 = fc256 (Just (T.ColorNumber 183))
-
-c256_f_184 :: Chunk
-c256_f_184 = fc256 (Just (T.ColorNumber 184))
-
-c256_f_185 :: Chunk
-c256_f_185 = fc256 (Just (T.ColorNumber 185))
-
-c256_f_186 :: Chunk
-c256_f_186 = fc256 (Just (T.ColorNumber 186))
-
-c256_f_187 :: Chunk
-c256_f_187 = fc256 (Just (T.ColorNumber 187))
-
-c256_f_188 :: Chunk
-c256_f_188 = fc256 (Just (T.ColorNumber 188))
-
-c256_f_189 :: Chunk
-c256_f_189 = fc256 (Just (T.ColorNumber 189))
-
-c256_f_190 :: Chunk
-c256_f_190 = fc256 (Just (T.ColorNumber 190))
-
-c256_f_191 :: Chunk
-c256_f_191 = fc256 (Just (T.ColorNumber 191))
-
-c256_f_192 :: Chunk
-c256_f_192 = fc256 (Just (T.ColorNumber 192))
-
-c256_f_193 :: Chunk
-c256_f_193 = fc256 (Just (T.ColorNumber 193))
-
-c256_f_194 :: Chunk
-c256_f_194 = fc256 (Just (T.ColorNumber 194))
-
-c256_f_195 :: Chunk
-c256_f_195 = fc256 (Just (T.ColorNumber 195))
-
-c256_f_196 :: Chunk
-c256_f_196 = fc256 (Just (T.ColorNumber 196))
-
-c256_f_197 :: Chunk
-c256_f_197 = fc256 (Just (T.ColorNumber 197))
-
-c256_f_198 :: Chunk
-c256_f_198 = fc256 (Just (T.ColorNumber 198))
-
-c256_f_199 :: Chunk
-c256_f_199 = fc256 (Just (T.ColorNumber 199))
-
-c256_f_200 :: Chunk
-c256_f_200 = fc256 (Just (T.ColorNumber 200))
-
-c256_f_201 :: Chunk
-c256_f_201 = fc256 (Just (T.ColorNumber 201))
-
-c256_f_202 :: Chunk
-c256_f_202 = fc256 (Just (T.ColorNumber 202))
-
-c256_f_203 :: Chunk
-c256_f_203 = fc256 (Just (T.ColorNumber 203))
-
-c256_f_204 :: Chunk
-c256_f_204 = fc256 (Just (T.ColorNumber 204))
-
-c256_f_205 :: Chunk
-c256_f_205 = fc256 (Just (T.ColorNumber 205))
-
-c256_f_206 :: Chunk
-c256_f_206 = fc256 (Just (T.ColorNumber 206))
-
-c256_f_207 :: Chunk
-c256_f_207 = fc256 (Just (T.ColorNumber 207))
-
-c256_f_208 :: Chunk
-c256_f_208 = fc256 (Just (T.ColorNumber 208))
-
-c256_f_209 :: Chunk
-c256_f_209 = fc256 (Just (T.ColorNumber 209))
-
-c256_f_210 :: Chunk
-c256_f_210 = fc256 (Just (T.ColorNumber 210))
-
-c256_f_211 :: Chunk
-c256_f_211 = fc256 (Just (T.ColorNumber 211))
-
-c256_f_212 :: Chunk
-c256_f_212 = fc256 (Just (T.ColorNumber 212))
-
-c256_f_213 :: Chunk
-c256_f_213 = fc256 (Just (T.ColorNumber 213))
-
-c256_f_214 :: Chunk
-c256_f_214 = fc256 (Just (T.ColorNumber 214))
-
-c256_f_215 :: Chunk
-c256_f_215 = fc256 (Just (T.ColorNumber 215))
-
-c256_f_216 :: Chunk
-c256_f_216 = fc256 (Just (T.ColorNumber 216))
-
-c256_f_217 :: Chunk
-c256_f_217 = fc256 (Just (T.ColorNumber 217))
-
-c256_f_218 :: Chunk
-c256_f_218 = fc256 (Just (T.ColorNumber 218))
-
-c256_f_219 :: Chunk
-c256_f_219 = fc256 (Just (T.ColorNumber 219))
-
-c256_f_220 :: Chunk
-c256_f_220 = fc256 (Just (T.ColorNumber 220))
-
-c256_f_221 :: Chunk
-c256_f_221 = fc256 (Just (T.ColorNumber 221))
-
-c256_f_222 :: Chunk
-c256_f_222 = fc256 (Just (T.ColorNumber 222))
-
-c256_f_223 :: Chunk
-c256_f_223 = fc256 (Just (T.ColorNumber 223))
-
-c256_f_224 :: Chunk
-c256_f_224 = fc256 (Just (T.ColorNumber 224))
-
-c256_f_225 :: Chunk
-c256_f_225 = fc256 (Just (T.ColorNumber 225))
-
-c256_f_226 :: Chunk
-c256_f_226 = fc256 (Just (T.ColorNumber 226))
-
-c256_f_227 :: Chunk
-c256_f_227 = fc256 (Just (T.ColorNumber 227))
-
-c256_f_228 :: Chunk
-c256_f_228 = fc256 (Just (T.ColorNumber 228))
-
-c256_f_229 :: Chunk
-c256_f_229 = fc256 (Just (T.ColorNumber 229))
-
-c256_f_230 :: Chunk
-c256_f_230 = fc256 (Just (T.ColorNumber 230))
-
-c256_f_231 :: Chunk
-c256_f_231 = fc256 (Just (T.ColorNumber 231))
-
-c256_f_232 :: Chunk
-c256_f_232 = fc256 (Just (T.ColorNumber 232))
-
-c256_f_233 :: Chunk
-c256_f_233 = fc256 (Just (T.ColorNumber 233))
-
-c256_f_234 :: Chunk
-c256_f_234 = fc256 (Just (T.ColorNumber 234))
-
-c256_f_235 :: Chunk
-c256_f_235 = fc256 (Just (T.ColorNumber 235))
-
-c256_f_236 :: Chunk
-c256_f_236 = fc256 (Just (T.ColorNumber 236))
-
-c256_f_237 :: Chunk
-c256_f_237 = fc256 (Just (T.ColorNumber 237))
-
-c256_f_238 :: Chunk
-c256_f_238 = fc256 (Just (T.ColorNumber 238))
-
-c256_f_239 :: Chunk
-c256_f_239 = fc256 (Just (T.ColorNumber 239))
-
-c256_f_240 :: Chunk
-c256_f_240 = fc256 (Just (T.ColorNumber 240))
-
-c256_f_241 :: Chunk
-c256_f_241 = fc256 (Just (T.ColorNumber 241))
-
-c256_f_242 :: Chunk
-c256_f_242 = fc256 (Just (T.ColorNumber 242))
-
-c256_f_243 :: Chunk
-c256_f_243 = fc256 (Just (T.ColorNumber 243))
-
-c256_f_244 :: Chunk
-c256_f_244 = fc256 (Just (T.ColorNumber 244))
-
-c256_f_245 :: Chunk
-c256_f_245 = fc256 (Just (T.ColorNumber 245))
-
-c256_f_246 :: Chunk
-c256_f_246 = fc256 (Just (T.ColorNumber 246))
-
-c256_f_247 :: Chunk
-c256_f_247 = fc256 (Just (T.ColorNumber 247))
-
-c256_f_248 :: Chunk
-c256_f_248 = fc256 (Just (T.ColorNumber 248))
-
-c256_f_249 :: Chunk
-c256_f_249 = fc256 (Just (T.ColorNumber 249))
-
-c256_f_250 :: Chunk
-c256_f_250 = fc256 (Just (T.ColorNumber 250))
-
-c256_f_251 :: Chunk
-c256_f_251 = fc256 (Just (T.ColorNumber 251))
-
-c256_f_252 :: Chunk
-c256_f_252 = fc256 (Just (T.ColorNumber 252))
-
-c256_f_253 :: Chunk
-c256_f_253 = fc256 (Just (T.ColorNumber 253))
-
-c256_f_254 :: Chunk
-c256_f_254 = fc256 (Just (T.ColorNumber 254))
-
-c256_f_255 :: Chunk
-c256_f_255 = fc256 (Just (T.ColorNumber 255))
-
-
-bc256 :: Maybe T.Color -> Chunk
-bc256 c = x { textSpec = (textSpec x) {
-  style256 = (style256 (textSpec x)) {
-    background256 = Last (Just c) }}}
-  where
-    x = mempty
-
-c256_b_default :: Chunk
-c256_b_default = bc256 Nothing
-
-c256_b_0 :: Chunk
-c256_b_0 = bc256 (Just (T.ColorNumber 0))
-
-c256_b_black :: Chunk
-c256_b_black = bc256 (Just (T.ColorNumber 0))
-
-c256_b_1 :: Chunk
-c256_b_1 = bc256 (Just (T.ColorNumber 1))
-
-c256_b_red :: Chunk
-c256_b_red = bc256 (Just (T.ColorNumber 1))
-
-c256_b_2 :: Chunk
-c256_b_2 = bc256 (Just (T.ColorNumber 2))
-
-c256_b_green :: Chunk
-c256_b_green = bc256 (Just (T.ColorNumber 2))
-
-c256_b_3 :: Chunk
-c256_b_3 = bc256 (Just (T.ColorNumber 3))
-
-c256_b_yellow :: Chunk
-c256_b_yellow = bc256 (Just (T.ColorNumber 3))
-
-c256_b_4 :: Chunk
-c256_b_4 = bc256 (Just (T.ColorNumber 4))
-
-c256_b_blue :: Chunk
-c256_b_blue = bc256 (Just (T.ColorNumber 4))
-
-c256_b_5 :: Chunk
-c256_b_5 = bc256 (Just (T.ColorNumber 5))
-
-c256_b_magenta :: Chunk
-c256_b_magenta = bc256 (Just (T.ColorNumber 5))
-
-c256_b_6 :: Chunk
-c256_b_6 = bc256 (Just (T.ColorNumber 6))
-
-c256_b_cyan :: Chunk
-c256_b_cyan = bc256 (Just (T.ColorNumber 6))
-
-c256_b_7 :: Chunk
-c256_b_7 = bc256 (Just (T.ColorNumber 7))
-
-c256_b_white :: Chunk
-c256_b_white = bc256 (Just (T.ColorNumber 7))
-
-c256_b_8 :: Chunk
-c256_b_8 = bc256 (Just (T.ColorNumber 8))
-
-c256_b_grey :: Chunk
-c256_b_grey = bc256 (Just (T.ColorNumber 8))
-
-c256_b_9 :: Chunk
-c256_b_9 = bc256 (Just (T.ColorNumber 9))
-
-c256_b_red_bright :: Chunk
-c256_b_red_bright = bc256 (Just (T.ColorNumber 9))
-
-c256_b_10 :: Chunk
-c256_b_10 = bc256 (Just (T.ColorNumber 10))
-
-c256_b_green_bright :: Chunk
-c256_b_green_bright = bc256 (Just (T.ColorNumber 10))
-
-c256_b_11 :: Chunk
-c256_b_11 = bc256 (Just (T.ColorNumber 11))
-
-c256_b_yellow_bright :: Chunk
-c256_b_yellow_bright = bc256 (Just (T.ColorNumber 11))
-
-c256_b_12 :: Chunk
-c256_b_12 = bc256 (Just (T.ColorNumber 12))
-
-c256_b_blue_bright :: Chunk
-c256_b_blue_bright = bc256 (Just (T.ColorNumber 12))
-
-c256_b_13 :: Chunk
-c256_b_13 = bc256 (Just (T.ColorNumber 13))
-
-c256_b_magenta_bright :: Chunk
-c256_b_magenta_bright = bc256 (Just (T.ColorNumber 13))
-
-c256_b_14 :: Chunk
-c256_b_14 = bc256 (Just (T.ColorNumber 14))
-
-c256_b_cyan_bright :: Chunk
-c256_b_cyan_bright = bc256 (Just (T.ColorNumber 14))
-
-c256_b_15 :: Chunk
-c256_b_15 = bc256 (Just (T.ColorNumber 15))
-
-c256_b_white_bright :: Chunk
-c256_b_white_bright = bc256 (Just (T.ColorNumber 15))
-
-c256_b_16 :: Chunk
-c256_b_16 = bc256 (Just (T.ColorNumber 16))
-
-c256_b_17 :: Chunk
-c256_b_17 = bc256 (Just (T.ColorNumber 17))
-
-c256_b_18 :: Chunk
-c256_b_18 = bc256 (Just (T.ColorNumber 18))
-
-c256_b_19 :: Chunk
-c256_b_19 = bc256 (Just (T.ColorNumber 19))
-
-c256_b_20 :: Chunk
-c256_b_20 = bc256 (Just (T.ColorNumber 20))
-
-c256_b_21 :: Chunk
-c256_b_21 = bc256 (Just (T.ColorNumber 21))
-
-c256_b_22 :: Chunk
-c256_b_22 = bc256 (Just (T.ColorNumber 22))
-
-c256_b_23 :: Chunk
-c256_b_23 = bc256 (Just (T.ColorNumber 23))
-
-c256_b_24 :: Chunk
-c256_b_24 = bc256 (Just (T.ColorNumber 24))
-
-c256_b_25 :: Chunk
-c256_b_25 = bc256 (Just (T.ColorNumber 25))
-
-c256_b_26 :: Chunk
-c256_b_26 = bc256 (Just (T.ColorNumber 26))
-
-c256_b_27 :: Chunk
-c256_b_27 = bc256 (Just (T.ColorNumber 27))
-
-c256_b_28 :: Chunk
-c256_b_28 = bc256 (Just (T.ColorNumber 28))
-
-c256_b_29 :: Chunk
-c256_b_29 = bc256 (Just (T.ColorNumber 29))
-
-c256_b_30 :: Chunk
-c256_b_30 = bc256 (Just (T.ColorNumber 30))
-
-c256_b_31 :: Chunk
-c256_b_31 = bc256 (Just (T.ColorNumber 31))
-
-c256_b_32 :: Chunk
-c256_b_32 = bc256 (Just (T.ColorNumber 32))
-
-c256_b_33 :: Chunk
-c256_b_33 = bc256 (Just (T.ColorNumber 33))
-
-c256_b_34 :: Chunk
-c256_b_34 = bc256 (Just (T.ColorNumber 34))
-
-c256_b_35 :: Chunk
-c256_b_35 = bc256 (Just (T.ColorNumber 35))
-
-c256_b_36 :: Chunk
-c256_b_36 = bc256 (Just (T.ColorNumber 36))
-
-c256_b_37 :: Chunk
-c256_b_37 = bc256 (Just (T.ColorNumber 37))
-
-c256_b_38 :: Chunk
-c256_b_38 = bc256 (Just (T.ColorNumber 38))
-
-c256_b_39 :: Chunk
-c256_b_39 = bc256 (Just (T.ColorNumber 39))
-
-c256_b_40 :: Chunk
-c256_b_40 = bc256 (Just (T.ColorNumber 40))
-
-c256_b_41 :: Chunk
-c256_b_41 = bc256 (Just (T.ColorNumber 41))
-
-c256_b_42 :: Chunk
-c256_b_42 = bc256 (Just (T.ColorNumber 42))
-
-c256_b_43 :: Chunk
-c256_b_43 = bc256 (Just (T.ColorNumber 43))
-
-c256_b_44 :: Chunk
-c256_b_44 = bc256 (Just (T.ColorNumber 44))
-
-c256_b_45 :: Chunk
-c256_b_45 = bc256 (Just (T.ColorNumber 45))
-
-c256_b_46 :: Chunk
-c256_b_46 = bc256 (Just (T.ColorNumber 46))
-
-c256_b_47 :: Chunk
-c256_b_47 = bc256 (Just (T.ColorNumber 47))
-
-c256_b_48 :: Chunk
-c256_b_48 = bc256 (Just (T.ColorNumber 48))
-
-c256_b_49 :: Chunk
-c256_b_49 = bc256 (Just (T.ColorNumber 49))
-
-c256_b_50 :: Chunk
-c256_b_50 = bc256 (Just (T.ColorNumber 50))
-
-c256_b_51 :: Chunk
-c256_b_51 = bc256 (Just (T.ColorNumber 51))
-
-c256_b_52 :: Chunk
-c256_b_52 = bc256 (Just (T.ColorNumber 52))
-
-c256_b_53 :: Chunk
-c256_b_53 = bc256 (Just (T.ColorNumber 53))
-
-c256_b_54 :: Chunk
-c256_b_54 = bc256 (Just (T.ColorNumber 54))
-
-c256_b_55 :: Chunk
-c256_b_55 = bc256 (Just (T.ColorNumber 55))
-
-c256_b_56 :: Chunk
-c256_b_56 = bc256 (Just (T.ColorNumber 56))
-
-c256_b_57 :: Chunk
-c256_b_57 = bc256 (Just (T.ColorNumber 57))
-
-c256_b_58 :: Chunk
-c256_b_58 = bc256 (Just (T.ColorNumber 58))
-
-c256_b_59 :: Chunk
-c256_b_59 = bc256 (Just (T.ColorNumber 59))
-
-c256_b_60 :: Chunk
-c256_b_60 = bc256 (Just (T.ColorNumber 60))
-
-c256_b_61 :: Chunk
-c256_b_61 = bc256 (Just (T.ColorNumber 61))
-
-c256_b_62 :: Chunk
-c256_b_62 = bc256 (Just (T.ColorNumber 62))
-
-c256_b_63 :: Chunk
-c256_b_63 = bc256 (Just (T.ColorNumber 63))
-
-c256_b_64 :: Chunk
-c256_b_64 = bc256 (Just (T.ColorNumber 64))
-
-c256_b_65 :: Chunk
-c256_b_65 = bc256 (Just (T.ColorNumber 65))
-
-c256_b_66 :: Chunk
-c256_b_66 = bc256 (Just (T.ColorNumber 66))
-
-c256_b_67 :: Chunk
-c256_b_67 = bc256 (Just (T.ColorNumber 67))
-
-c256_b_68 :: Chunk
-c256_b_68 = bc256 (Just (T.ColorNumber 68))
-
-c256_b_69 :: Chunk
-c256_b_69 = bc256 (Just (T.ColorNumber 69))
-
-c256_b_70 :: Chunk
-c256_b_70 = bc256 (Just (T.ColorNumber 70))
-
-c256_b_71 :: Chunk
-c256_b_71 = bc256 (Just (T.ColorNumber 71))
-
-c256_b_72 :: Chunk
-c256_b_72 = bc256 (Just (T.ColorNumber 72))
-
-c256_b_73 :: Chunk
-c256_b_73 = bc256 (Just (T.ColorNumber 73))
-
-c256_b_74 :: Chunk
-c256_b_74 = bc256 (Just (T.ColorNumber 74))
-
-c256_b_75 :: Chunk
-c256_b_75 = bc256 (Just (T.ColorNumber 75))
-
-c256_b_76 :: Chunk
-c256_b_76 = bc256 (Just (T.ColorNumber 76))
-
-c256_b_77 :: Chunk
-c256_b_77 = bc256 (Just (T.ColorNumber 77))
-
-c256_b_78 :: Chunk
-c256_b_78 = bc256 (Just (T.ColorNumber 78))
-
-c256_b_79 :: Chunk
-c256_b_79 = bc256 (Just (T.ColorNumber 79))
-
-c256_b_80 :: Chunk
-c256_b_80 = bc256 (Just (T.ColorNumber 80))
-
-c256_b_81 :: Chunk
-c256_b_81 = bc256 (Just (T.ColorNumber 81))
-
-c256_b_82 :: Chunk
-c256_b_82 = bc256 (Just (T.ColorNumber 82))
-
-c256_b_83 :: Chunk
-c256_b_83 = bc256 (Just (T.ColorNumber 83))
-
-c256_b_84 :: Chunk
-c256_b_84 = bc256 (Just (T.ColorNumber 84))
-
-c256_b_85 :: Chunk
-c256_b_85 = bc256 (Just (T.ColorNumber 85))
-
-c256_b_86 :: Chunk
-c256_b_86 = bc256 (Just (T.ColorNumber 86))
-
-c256_b_87 :: Chunk
-c256_b_87 = bc256 (Just (T.ColorNumber 87))
-
-c256_b_88 :: Chunk
-c256_b_88 = bc256 (Just (T.ColorNumber 88))
-
-c256_b_89 :: Chunk
-c256_b_89 = bc256 (Just (T.ColorNumber 89))
-
-c256_b_90 :: Chunk
-c256_b_90 = bc256 (Just (T.ColorNumber 90))
-
-c256_b_91 :: Chunk
-c256_b_91 = bc256 (Just (T.ColorNumber 91))
-
-c256_b_92 :: Chunk
-c256_b_92 = bc256 (Just (T.ColorNumber 92))
-
-c256_b_93 :: Chunk
-c256_b_93 = bc256 (Just (T.ColorNumber 93))
-
-c256_b_94 :: Chunk
-c256_b_94 = bc256 (Just (T.ColorNumber 94))
-
-c256_b_95 :: Chunk
-c256_b_95 = bc256 (Just (T.ColorNumber 95))
-
-c256_b_96 :: Chunk
-c256_b_96 = bc256 (Just (T.ColorNumber 96))
-
-c256_b_97 :: Chunk
-c256_b_97 = bc256 (Just (T.ColorNumber 97))
-
-c256_b_98 :: Chunk
-c256_b_98 = bc256 (Just (T.ColorNumber 98))
-
-c256_b_99 :: Chunk
-c256_b_99 = bc256 (Just (T.ColorNumber 99))
-
-c256_b_100 :: Chunk
-c256_b_100 = bc256 (Just (T.ColorNumber 100))
-
-c256_b_101 :: Chunk
-c256_b_101 = bc256 (Just (T.ColorNumber 101))
-
-c256_b_102 :: Chunk
-c256_b_102 = bc256 (Just (T.ColorNumber 102))
-
-c256_b_103 :: Chunk
-c256_b_103 = bc256 (Just (T.ColorNumber 103))
-
-c256_b_104 :: Chunk
-c256_b_104 = bc256 (Just (T.ColorNumber 104))
-
-c256_b_105 :: Chunk
-c256_b_105 = bc256 (Just (T.ColorNumber 105))
-
-c256_b_106 :: Chunk
-c256_b_106 = bc256 (Just (T.ColorNumber 106))
-
-c256_b_107 :: Chunk
-c256_b_107 = bc256 (Just (T.ColorNumber 107))
-
-c256_b_108 :: Chunk
-c256_b_108 = bc256 (Just (T.ColorNumber 108))
-
-c256_b_109 :: Chunk
-c256_b_109 = bc256 (Just (T.ColorNumber 109))
-
-c256_b_110 :: Chunk
-c256_b_110 = bc256 (Just (T.ColorNumber 110))
-
-c256_b_111 :: Chunk
-c256_b_111 = bc256 (Just (T.ColorNumber 111))
-
-c256_b_112 :: Chunk
-c256_b_112 = bc256 (Just (T.ColorNumber 112))
-
-c256_b_113 :: Chunk
-c256_b_113 = bc256 (Just (T.ColorNumber 113))
-
-c256_b_114 :: Chunk
-c256_b_114 = bc256 (Just (T.ColorNumber 114))
-
-c256_b_115 :: Chunk
-c256_b_115 = bc256 (Just (T.ColorNumber 115))
-
-c256_b_116 :: Chunk
-c256_b_116 = bc256 (Just (T.ColorNumber 116))
-
-c256_b_117 :: Chunk
-c256_b_117 = bc256 (Just (T.ColorNumber 117))
-
-c256_b_118 :: Chunk
-c256_b_118 = bc256 (Just (T.ColorNumber 118))
-
-c256_b_119 :: Chunk
-c256_b_119 = bc256 (Just (T.ColorNumber 119))
-
-c256_b_120 :: Chunk
-c256_b_120 = bc256 (Just (T.ColorNumber 120))
-
-c256_b_121 :: Chunk
-c256_b_121 = bc256 (Just (T.ColorNumber 121))
-
-c256_b_122 :: Chunk
-c256_b_122 = bc256 (Just (T.ColorNumber 122))
-
-c256_b_123 :: Chunk
-c256_b_123 = bc256 (Just (T.ColorNumber 123))
-
-c256_b_124 :: Chunk
-c256_b_124 = bc256 (Just (T.ColorNumber 124))
-
-c256_b_125 :: Chunk
-c256_b_125 = bc256 (Just (T.ColorNumber 125))
-
-c256_b_126 :: Chunk
-c256_b_126 = bc256 (Just (T.ColorNumber 126))
-
-c256_b_127 :: Chunk
-c256_b_127 = bc256 (Just (T.ColorNumber 127))
-
-c256_b_128 :: Chunk
-c256_b_128 = bc256 (Just (T.ColorNumber 128))
-
-c256_b_129 :: Chunk
-c256_b_129 = bc256 (Just (T.ColorNumber 129))
-
-c256_b_130 :: Chunk
-c256_b_130 = bc256 (Just (T.ColorNumber 130))
-
-c256_b_131 :: Chunk
-c256_b_131 = bc256 (Just (T.ColorNumber 131))
-
-c256_b_132 :: Chunk
-c256_b_132 = bc256 (Just (T.ColorNumber 132))
-
-c256_b_133 :: Chunk
-c256_b_133 = bc256 (Just (T.ColorNumber 133))
-
-c256_b_134 :: Chunk
-c256_b_134 = bc256 (Just (T.ColorNumber 134))
-
-c256_b_135 :: Chunk
-c256_b_135 = bc256 (Just (T.ColorNumber 135))
-
-c256_b_136 :: Chunk
-c256_b_136 = bc256 (Just (T.ColorNumber 136))
-
-c256_b_137 :: Chunk
-c256_b_137 = bc256 (Just (T.ColorNumber 137))
-
-c256_b_138 :: Chunk
-c256_b_138 = bc256 (Just (T.ColorNumber 138))
-
-c256_b_139 :: Chunk
-c256_b_139 = bc256 (Just (T.ColorNumber 139))
-
-c256_b_140 :: Chunk
-c256_b_140 = bc256 (Just (T.ColorNumber 140))
-
-c256_b_141 :: Chunk
-c256_b_141 = bc256 (Just (T.ColorNumber 141))
-
-c256_b_142 :: Chunk
-c256_b_142 = bc256 (Just (T.ColorNumber 142))
-
-c256_b_143 :: Chunk
-c256_b_143 = bc256 (Just (T.ColorNumber 143))
-
-c256_b_144 :: Chunk
-c256_b_144 = bc256 (Just (T.ColorNumber 144))
-
-c256_b_145 :: Chunk
-c256_b_145 = bc256 (Just (T.ColorNumber 145))
-
-c256_b_146 :: Chunk
-c256_b_146 = bc256 (Just (T.ColorNumber 146))
-
-c256_b_147 :: Chunk
-c256_b_147 = bc256 (Just (T.ColorNumber 147))
-
-c256_b_148 :: Chunk
-c256_b_148 = bc256 (Just (T.ColorNumber 148))
-
-c256_b_149 :: Chunk
-c256_b_149 = bc256 (Just (T.ColorNumber 149))
-
-c256_b_150 :: Chunk
-c256_b_150 = bc256 (Just (T.ColorNumber 150))
-
-c256_b_151 :: Chunk
-c256_b_151 = bc256 (Just (T.ColorNumber 151))
-
-c256_b_152 :: Chunk
-c256_b_152 = bc256 (Just (T.ColorNumber 152))
-
-c256_b_153 :: Chunk
-c256_b_153 = bc256 (Just (T.ColorNumber 153))
-
-c256_b_154 :: Chunk
-c256_b_154 = bc256 (Just (T.ColorNumber 154))
-
-c256_b_155 :: Chunk
-c256_b_155 = bc256 (Just (T.ColorNumber 155))
-
-c256_b_156 :: Chunk
-c256_b_156 = bc256 (Just (T.ColorNumber 156))
-
-c256_b_157 :: Chunk
-c256_b_157 = bc256 (Just (T.ColorNumber 157))
-
-c256_b_158 :: Chunk
-c256_b_158 = bc256 (Just (T.ColorNumber 158))
-
-c256_b_159 :: Chunk
-c256_b_159 = bc256 (Just (T.ColorNumber 159))
-
-c256_b_160 :: Chunk
-c256_b_160 = bc256 (Just (T.ColorNumber 160))
-
-c256_b_161 :: Chunk
-c256_b_161 = bc256 (Just (T.ColorNumber 161))
-
-c256_b_162 :: Chunk
-c256_b_162 = bc256 (Just (T.ColorNumber 162))
-
-c256_b_163 :: Chunk
-c256_b_163 = bc256 (Just (T.ColorNumber 163))
-
-c256_b_164 :: Chunk
-c256_b_164 = bc256 (Just (T.ColorNumber 164))
-
-c256_b_165 :: Chunk
-c256_b_165 = bc256 (Just (T.ColorNumber 165))
-
-c256_b_166 :: Chunk
-c256_b_166 = bc256 (Just (T.ColorNumber 166))
-
-c256_b_167 :: Chunk
-c256_b_167 = bc256 (Just (T.ColorNumber 167))
-
-c256_b_168 :: Chunk
-c256_b_168 = bc256 (Just (T.ColorNumber 168))
-
-c256_b_169 :: Chunk
-c256_b_169 = bc256 (Just (T.ColorNumber 169))
-
-c256_b_170 :: Chunk
-c256_b_170 = bc256 (Just (T.ColorNumber 170))
-
-c256_b_171 :: Chunk
-c256_b_171 = bc256 (Just (T.ColorNumber 171))
-
-c256_b_172 :: Chunk
-c256_b_172 = bc256 (Just (T.ColorNumber 172))
-
-c256_b_173 :: Chunk
-c256_b_173 = bc256 (Just (T.ColorNumber 173))
-
-c256_b_174 :: Chunk
-c256_b_174 = bc256 (Just (T.ColorNumber 174))
-
-c256_b_175 :: Chunk
-c256_b_175 = bc256 (Just (T.ColorNumber 175))
-
-c256_b_176 :: Chunk
-c256_b_176 = bc256 (Just (T.ColorNumber 176))
-
-c256_b_177 :: Chunk
-c256_b_177 = bc256 (Just (T.ColorNumber 177))
-
-c256_b_178 :: Chunk
-c256_b_178 = bc256 (Just (T.ColorNumber 178))
-
-c256_b_179 :: Chunk
-c256_b_179 = bc256 (Just (T.ColorNumber 179))
-
-c256_b_180 :: Chunk
-c256_b_180 = bc256 (Just (T.ColorNumber 180))
-
-c256_b_181 :: Chunk
-c256_b_181 = bc256 (Just (T.ColorNumber 181))
-
-c256_b_182 :: Chunk
-c256_b_182 = bc256 (Just (T.ColorNumber 182))
-
-c256_b_183 :: Chunk
-c256_b_183 = bc256 (Just (T.ColorNumber 183))
-
-c256_b_184 :: Chunk
-c256_b_184 = bc256 (Just (T.ColorNumber 184))
-
-c256_b_185 :: Chunk
-c256_b_185 = bc256 (Just (T.ColorNumber 185))
-
-c256_b_186 :: Chunk
-c256_b_186 = bc256 (Just (T.ColorNumber 186))
-
-c256_b_187 :: Chunk
-c256_b_187 = bc256 (Just (T.ColorNumber 187))
-
-c256_b_188 :: Chunk
-c256_b_188 = bc256 (Just (T.ColorNumber 188))
-
-c256_b_189 :: Chunk
-c256_b_189 = bc256 (Just (T.ColorNumber 189))
-
-c256_b_190 :: Chunk
-c256_b_190 = bc256 (Just (T.ColorNumber 190))
-
-c256_b_191 :: Chunk
-c256_b_191 = bc256 (Just (T.ColorNumber 191))
-
-c256_b_192 :: Chunk
-c256_b_192 = bc256 (Just (T.ColorNumber 192))
-
-c256_b_193 :: Chunk
-c256_b_193 = bc256 (Just (T.ColorNumber 193))
-
-c256_b_194 :: Chunk
-c256_b_194 = bc256 (Just (T.ColorNumber 194))
-
-c256_b_195 :: Chunk
-c256_b_195 = bc256 (Just (T.ColorNumber 195))
-
-c256_b_196 :: Chunk
-c256_b_196 = bc256 (Just (T.ColorNumber 196))
-
-c256_b_197 :: Chunk
-c256_b_197 = bc256 (Just (T.ColorNumber 197))
-
-c256_b_198 :: Chunk
-c256_b_198 = bc256 (Just (T.ColorNumber 198))
-
-c256_b_199 :: Chunk
-c256_b_199 = bc256 (Just (T.ColorNumber 199))
-
-c256_b_200 :: Chunk
-c256_b_200 = bc256 (Just (T.ColorNumber 200))
-
-c256_b_201 :: Chunk
-c256_b_201 = bc256 (Just (T.ColorNumber 201))
-
-c256_b_202 :: Chunk
-c256_b_202 = bc256 (Just (T.ColorNumber 202))
-
-c256_b_203 :: Chunk
-c256_b_203 = bc256 (Just (T.ColorNumber 203))
-
-c256_b_204 :: Chunk
-c256_b_204 = bc256 (Just (T.ColorNumber 204))
-
-c256_b_205 :: Chunk
-c256_b_205 = bc256 (Just (T.ColorNumber 205))
-
-c256_b_206 :: Chunk
-c256_b_206 = bc256 (Just (T.ColorNumber 206))
-
-c256_b_207 :: Chunk
-c256_b_207 = bc256 (Just (T.ColorNumber 207))
-
-c256_b_208 :: Chunk
-c256_b_208 = bc256 (Just (T.ColorNumber 208))
-
-c256_b_209 :: Chunk
-c256_b_209 = bc256 (Just (T.ColorNumber 209))
-
-c256_b_210 :: Chunk
-c256_b_210 = bc256 (Just (T.ColorNumber 210))
-
-c256_b_211 :: Chunk
-c256_b_211 = bc256 (Just (T.ColorNumber 211))
-
-c256_b_212 :: Chunk
-c256_b_212 = bc256 (Just (T.ColorNumber 212))
-
-c256_b_213 :: Chunk
-c256_b_213 = bc256 (Just (T.ColorNumber 213))
-
-c256_b_214 :: Chunk
-c256_b_214 = bc256 (Just (T.ColorNumber 214))
-
-c256_b_215 :: Chunk
-c256_b_215 = bc256 (Just (T.ColorNumber 215))
-
-c256_b_216 :: Chunk
-c256_b_216 = bc256 (Just (T.ColorNumber 216))
-
-c256_b_217 :: Chunk
-c256_b_217 = bc256 (Just (T.ColorNumber 217))
-
-c256_b_218 :: Chunk
-c256_b_218 = bc256 (Just (T.ColorNumber 218))
-
-c256_b_219 :: Chunk
-c256_b_219 = bc256 (Just (T.ColorNumber 219))
-
-c256_b_220 :: Chunk
-c256_b_220 = bc256 (Just (T.ColorNumber 220))
-
-c256_b_221 :: Chunk
-c256_b_221 = bc256 (Just (T.ColorNumber 221))
-
-c256_b_222 :: Chunk
-c256_b_222 = bc256 (Just (T.ColorNumber 222))
-
-c256_b_223 :: Chunk
-c256_b_223 = bc256 (Just (T.ColorNumber 223))
-
-c256_b_224 :: Chunk
-c256_b_224 = bc256 (Just (T.ColorNumber 224))
-
-c256_b_225 :: Chunk
-c256_b_225 = bc256 (Just (T.ColorNumber 225))
-
-c256_b_226 :: Chunk
-c256_b_226 = bc256 (Just (T.ColorNumber 226))
-
-c256_b_227 :: Chunk
-c256_b_227 = bc256 (Just (T.ColorNumber 227))
-
-c256_b_228 :: Chunk
-c256_b_228 = bc256 (Just (T.ColorNumber 228))
-
-c256_b_229 :: Chunk
-c256_b_229 = bc256 (Just (T.ColorNumber 229))
-
-c256_b_230 :: Chunk
-c256_b_230 = bc256 (Just (T.ColorNumber 230))
-
-c256_b_231 :: Chunk
-c256_b_231 = bc256 (Just (T.ColorNumber 231))
-
-c256_b_232 :: Chunk
-c256_b_232 = bc256 (Just (T.ColorNumber 232))
-
-c256_b_233 :: Chunk
-c256_b_233 = bc256 (Just (T.ColorNumber 233))
-
-c256_b_234 :: Chunk
-c256_b_234 = bc256 (Just (T.ColorNumber 234))
-
-c256_b_235 :: Chunk
-c256_b_235 = bc256 (Just (T.ColorNumber 235))
-
-c256_b_236 :: Chunk
-c256_b_236 = bc256 (Just (T.ColorNumber 236))
-
-c256_b_237 :: Chunk
-c256_b_237 = bc256 (Just (T.ColorNumber 237))
-
-c256_b_238 :: Chunk
-c256_b_238 = bc256 (Just (T.ColorNumber 238))
-
-c256_b_239 :: Chunk
-c256_b_239 = bc256 (Just (T.ColorNumber 239))
-
-c256_b_240 :: Chunk
-c256_b_240 = bc256 (Just (T.ColorNumber 240))
-
-c256_b_241 :: Chunk
-c256_b_241 = bc256 (Just (T.ColorNumber 241))
-
-c256_b_242 :: Chunk
-c256_b_242 = bc256 (Just (T.ColorNumber 242))
-
-c256_b_243 :: Chunk
-c256_b_243 = bc256 (Just (T.ColorNumber 243))
-
-c256_b_244 :: Chunk
-c256_b_244 = bc256 (Just (T.ColorNumber 244))
-
-c256_b_245 :: Chunk
-c256_b_245 = bc256 (Just (T.ColorNumber 245))
-
-c256_b_246 :: Chunk
-c256_b_246 = bc256 (Just (T.ColorNumber 246))
-
-c256_b_247 :: Chunk
-c256_b_247 = bc256 (Just (T.ColorNumber 247))
-
-c256_b_248 :: Chunk
-c256_b_248 = bc256 (Just (T.ColorNumber 248))
-
-c256_b_249 :: Chunk
-c256_b_249 = bc256 (Just (T.ColorNumber 249))
-
-c256_b_250 :: Chunk
-c256_b_250 = bc256 (Just (T.ColorNumber 250))
-
-c256_b_251 :: Chunk
-c256_b_251 = bc256 (Just (T.ColorNumber 251))
-
-c256_b_252 :: Chunk
-c256_b_252 = bc256 (Just (T.ColorNumber 252))
-
-c256_b_253 :: Chunk
-c256_b_253 = bc256 (Just (T.ColorNumber 253))
-
-c256_b_254 :: Chunk
-c256_b_254 = bc256 (Just (T.ColorNumber 254))
-
-c256_b_255 :: Chunk
-c256_b_255 = bc256 (Just (T.ColorNumber 255))
-
+module System.Console.Rainbow
+  (
+
+  -- * Terminal definitions
+    Term(..)
+  , termFromEnv
+  , smartTermFromEnv
+
+  -- * Chunks
+  , Chunk(..)
+  , fromText
+
+  -- * Printing chunks
+  , putChunks
+  , hPutChunks
+
+  -- ** Printing one chunk at a time
+
+  -- | These functions make it easy to print one chunk at a time. Each
+  -- function initializes the terminal once for each chunk, unlike the
+  -- list-oriented functions, which only initialize the terminal
+  -- once. (Initialization does not clear the screen; rather, it is a
+  -- process that the terminfo library requires.) Thus there might be
+  -- a performance penalty for using these functions to print large
+  -- numbers of chunks. Or, there might not be--I have not benchmarked
+  -- them.
+  --
+  -- These functions use the default terminal, obtained using
+  -- 'termFromEnv'.
+  , putChunk
+  , putChunkLn
+  , hPutChunk
+  , hPutChunkLn
+
+  -- * Effects for both 8 and 256 color terminals
+
+  -- | These 'Chunk's affect both 8 and 256 color terminals:
+  --
+  -- > putChunkLn $ "bold on 8 and 256 color terminals" <> bold
+  --
+  -- There are also 'Chunk's to turn an effect off, such as
+  -- 'boldOff'. Ordinarily you will not need these because each chunk
+  -- starts with no effects, so you only need to turn on the effects
+  -- you want. However the @off@ 'Chunk's are here if you need them.
+
+  , bold, boldOff
+  , underline, underlineOff
+  , flash, flashOff
+  , inverse, inverseOff
+
+  -- * Effects for 8-color terminals only
+
+  -- | These 'Chunk's affect 8-color terminals only.
+  --
+  -- > putChunkLn $ "Bold on 8 color terminal only" <> bold8
+
+  , bold8, bold8off
+  , underline8, underline8off
+  , flash8, flash8off
+  , inverse8, inverse8off
+
+  -- * Effects for 256-color terminals only
+
+  -- | These 'Chunk's affect 256-color terminals only.
+  --
+  -- > putChunkLn $ "Underlined on 256-color terminal, "
+  -- >              <> "bold on 8-color terminal"
+  -- >              <> underlined256 <> bold8
+
+  , bold256, bold256off
+  , underline256, underline256off
+  , flash256, flash256off
+  , inverse256, inverse256off
+
+  -- * Color chunks
+  -- | All colors are within this module.
+  , module System.Console.Rainbow.ColorChunks
+
+  ) where
+
+import System.Console.Rainbow.Types
+import System.Console.Rainbow.ColorChunks
diff --git a/System/Console/Rainbow/ColorChunks.hs b/System/Console/Rainbow/ColorChunks.hs
new file mode 100644
--- /dev/null
+++ b/System/Console/Rainbow/ColorChunks.hs
@@ -0,0 +1,1820 @@
+-- | Color chunks.
+--
+-- Names in this module follow these connventions:
+--
+-- * The prefix @f_@ indicates that a Chunk affects foreground
+-- colors.  The prefix @b_@ indicates background colors.
+--
+-- * The prefix @c8_@ indicates that a Chunk affects 8-color
+-- terminals only; @c256_@ indicates 256-color terminals only.  If a
+-- Chunk has neither prefix, it affects both 8- and 256-color
+-- terminals.
+--
+-- * Some colors have names.  The color names assume a palette
+-- similar to the default one that xterm uses.  Other colors simply
+-- have numbers.  Ultimately the interpretation of either named or
+-- numbered colors is up to the user's terminal.
+module System.Console.Rainbow.ColorChunks where
+
+import System.Console.Rainbow.Types
+import qualified System.Console.Terminfo as T
+import Data.Monoid
+
+-- * Colors for both 8 and 256 color terminals
+
+-- ** Foreground colors
+
+f_default :: Chunk
+f_default = c8_f_default <> c256_f_default
+
+f_black :: Chunk
+f_black = c8_f_black <> c256_f_black
+
+f_red :: Chunk
+f_red = c8_f_red <> c256_f_red
+
+f_green :: Chunk
+f_green = c8_f_green <> c256_f_green
+
+f_yellow :: Chunk
+f_yellow = c8_f_yellow <> c256_f_yellow
+
+f_blue :: Chunk
+f_blue = c8_f_blue <> c256_f_blue
+
+f_magenta :: Chunk
+f_magenta = c8_f_magenta <> c256_f_magenta
+
+f_cyan :: Chunk
+f_cyan = c8_f_cyan <> c256_f_cyan
+
+f_white :: Chunk
+f_white = c8_f_white <> c256_f_white
+
+-- ** Background colors
+
+b_default :: Chunk
+b_default = c8_b_default <> c256_b_default
+
+b_black :: Chunk
+b_black = c8_b_black <> c256_b_black
+
+b_red :: Chunk
+b_red = c8_b_red <> c256_b_red
+
+b_green :: Chunk
+b_green = c8_b_green <> c256_b_green
+
+b_yellow :: Chunk
+b_yellow = c8_b_yellow <> c256_b_yellow
+
+b_blue :: Chunk
+b_blue = c8_b_blue <> c256_b_blue
+
+b_magenta :: Chunk
+b_magenta = c8_b_magenta <> c256_b_magenta
+
+b_cyan :: Chunk
+b_cyan = c8_b_cyan <> c256_b_cyan
+
+b_white :: Chunk
+b_white = c8_b_white <> c256_b_white
+
+
+-- * Specific colors
+-- ** 8 color foreground colors
+c8_f_default :: Chunk
+c8_f_default = fc8 Nothing
+
+
+c8_f_black :: Chunk
+c8_f_black = fc8 (Just T.Black)
+
+c8_f_red :: Chunk
+c8_f_red = fc8 (Just T.Red)
+
+c8_f_green :: Chunk
+c8_f_green = fc8 (Just T.Green)
+
+c8_f_yellow :: Chunk
+c8_f_yellow = fc8 (Just T.Yellow)
+
+c8_f_blue :: Chunk
+c8_f_blue = fc8 (Just T.Blue)
+
+c8_f_magenta :: Chunk
+c8_f_magenta = fc8 (Just T.Magenta)
+
+c8_f_cyan :: Chunk
+c8_f_cyan = fc8 (Just T.Cyan)
+
+c8_f_white :: Chunk
+c8_f_white = fc8 (Just T.White)
+
+-- ** 8 color background colors
+
+c8_b_default :: Chunk
+c8_b_default = bc8 Nothing
+
+c8_b_black :: Chunk
+c8_b_black = bc8 (Just T.Black)
+
+c8_b_red :: Chunk
+c8_b_red = bc8 (Just T.Red)
+
+c8_b_green :: Chunk
+c8_b_green = bc8 (Just T.Green)
+
+c8_b_yellow :: Chunk
+c8_b_yellow = bc8 (Just T.Yellow)
+
+c8_b_blue :: Chunk
+c8_b_blue = bc8 (Just T.Blue)
+
+c8_b_magenta :: Chunk
+c8_b_magenta = bc8 (Just T.Magenta)
+
+c8_b_cyan :: Chunk
+c8_b_cyan = bc8 (Just T.Cyan)
+
+c8_b_white :: Chunk
+c8_b_white = bc8 (Just T.White)
+
+-- ** 256 color foreground colors
+
+c256_f_default :: Chunk
+c256_f_default = fc256 Nothing
+
+
+c256_f_0 :: Chunk
+c256_f_0 = fc256 (Just (T.ColorNumber 0))
+
+c256_f_black :: Chunk
+c256_f_black = fc256 (Just (T.ColorNumber 0))
+
+c256_f_1 :: Chunk
+c256_f_1 = fc256 (Just (T.ColorNumber 1))
+
+c256_f_red :: Chunk
+c256_f_red = fc256 (Just (T.ColorNumber 1))
+
+c256_f_2 :: Chunk
+c256_f_2 = fc256 (Just (T.ColorNumber 2))
+
+c256_f_green :: Chunk
+c256_f_green = fc256 (Just (T.ColorNumber 2))
+
+c256_f_3 :: Chunk
+c256_f_3 = fc256 (Just (T.ColorNumber 3))
+
+c256_f_yellow :: Chunk
+c256_f_yellow = fc256 (Just (T.ColorNumber 3))
+
+c256_f_4 :: Chunk
+c256_f_4 = fc256 (Just (T.ColorNumber 4))
+
+c256_f_blue :: Chunk
+c256_f_blue = fc256 (Just (T.ColorNumber 4))
+
+c256_f_5 :: Chunk
+c256_f_5 = fc256 (Just (T.ColorNumber 5))
+
+c256_f_magenta :: Chunk
+c256_f_magenta = fc256 (Just (T.ColorNumber 5))
+
+c256_f_6 :: Chunk
+c256_f_6 = fc256 (Just (T.ColorNumber 6))
+
+c256_f_cyan :: Chunk
+c256_f_cyan = fc256 (Just (T.ColorNumber 6))
+
+c256_f_7 :: Chunk
+c256_f_7 = fc256 (Just (T.ColorNumber 7))
+
+c256_f_white :: Chunk
+c256_f_white = fc256 (Just (T.ColorNumber 7))
+
+c256_f_8 :: Chunk
+c256_f_8 = fc256 (Just (T.ColorNumber 8))
+
+c256_f_grey :: Chunk
+c256_f_grey = fc256 (Just (T.ColorNumber 8))
+
+c256_f_9 :: Chunk
+c256_f_9 = fc256 (Just (T.ColorNumber 9))
+
+c256_f_red_bright :: Chunk
+c256_f_red_bright = fc256 (Just (T.ColorNumber 9))
+
+c256_f_10 :: Chunk
+c256_f_10 = fc256 (Just (T.ColorNumber 10))
+
+c256_f_green_bright :: Chunk
+c256_f_green_bright = fc256 (Just (T.ColorNumber 10))
+
+c256_f_11 :: Chunk
+c256_f_11 = fc256 (Just (T.ColorNumber 11))
+
+c256_f_yellow_bright :: Chunk
+c256_f_yellow_bright = fc256 (Just (T.ColorNumber 11))
+
+c256_f_12 :: Chunk
+c256_f_12 = fc256 (Just (T.ColorNumber 12))
+
+c256_f_blue_bright :: Chunk
+c256_f_blue_bright = fc256 (Just (T.ColorNumber 12))
+
+c256_f_13 :: Chunk
+c256_f_13 = fc256 (Just (T.ColorNumber 13))
+
+c256_f_magenta_bright :: Chunk
+c256_f_magenta_bright = fc256 (Just (T.ColorNumber 13))
+
+c256_f_14 :: Chunk
+c256_f_14 = fc256 (Just (T.ColorNumber 14))
+
+c256_f_cyan_bright :: Chunk
+c256_f_cyan_bright = fc256 (Just (T.ColorNumber 14))
+
+c256_f_15 :: Chunk
+c256_f_15 = fc256 (Just (T.ColorNumber 15))
+
+c256_f_white_bright :: Chunk
+c256_f_white_bright = fc256 (Just (T.ColorNumber 15))
+
+c256_f_16 :: Chunk
+c256_f_16 = fc256 (Just (T.ColorNumber 16))
+
+c256_f_17 :: Chunk
+c256_f_17 = fc256 (Just (T.ColorNumber 17))
+
+c256_f_18 :: Chunk
+c256_f_18 = fc256 (Just (T.ColorNumber 18))
+
+c256_f_19 :: Chunk
+c256_f_19 = fc256 (Just (T.ColorNumber 19))
+
+c256_f_20 :: Chunk
+c256_f_20 = fc256 (Just (T.ColorNumber 20))
+
+c256_f_21 :: Chunk
+c256_f_21 = fc256 (Just (T.ColorNumber 21))
+
+c256_f_22 :: Chunk
+c256_f_22 = fc256 (Just (T.ColorNumber 22))
+
+c256_f_23 :: Chunk
+c256_f_23 = fc256 (Just (T.ColorNumber 23))
+
+c256_f_24 :: Chunk
+c256_f_24 = fc256 (Just (T.ColorNumber 24))
+
+c256_f_25 :: Chunk
+c256_f_25 = fc256 (Just (T.ColorNumber 25))
+
+c256_f_26 :: Chunk
+c256_f_26 = fc256 (Just (T.ColorNumber 26))
+
+c256_f_27 :: Chunk
+c256_f_27 = fc256 (Just (T.ColorNumber 27))
+
+c256_f_28 :: Chunk
+c256_f_28 = fc256 (Just (T.ColorNumber 28))
+
+c256_f_29 :: Chunk
+c256_f_29 = fc256 (Just (T.ColorNumber 29))
+
+c256_f_30 :: Chunk
+c256_f_30 = fc256 (Just (T.ColorNumber 30))
+
+c256_f_31 :: Chunk
+c256_f_31 = fc256 (Just (T.ColorNumber 31))
+
+c256_f_32 :: Chunk
+c256_f_32 = fc256 (Just (T.ColorNumber 32))
+
+c256_f_33 :: Chunk
+c256_f_33 = fc256 (Just (T.ColorNumber 33))
+
+c256_f_34 :: Chunk
+c256_f_34 = fc256 (Just (T.ColorNumber 34))
+
+c256_f_35 :: Chunk
+c256_f_35 = fc256 (Just (T.ColorNumber 35))
+
+c256_f_36 :: Chunk
+c256_f_36 = fc256 (Just (T.ColorNumber 36))
+
+c256_f_37 :: Chunk
+c256_f_37 = fc256 (Just (T.ColorNumber 37))
+
+c256_f_38 :: Chunk
+c256_f_38 = fc256 (Just (T.ColorNumber 38))
+
+c256_f_39 :: Chunk
+c256_f_39 = fc256 (Just (T.ColorNumber 39))
+
+c256_f_40 :: Chunk
+c256_f_40 = fc256 (Just (T.ColorNumber 40))
+
+c256_f_41 :: Chunk
+c256_f_41 = fc256 (Just (T.ColorNumber 41))
+
+c256_f_42 :: Chunk
+c256_f_42 = fc256 (Just (T.ColorNumber 42))
+
+c256_f_43 :: Chunk
+c256_f_43 = fc256 (Just (T.ColorNumber 43))
+
+c256_f_44 :: Chunk
+c256_f_44 = fc256 (Just (T.ColorNumber 44))
+
+c256_f_45 :: Chunk
+c256_f_45 = fc256 (Just (T.ColorNumber 45))
+
+c256_f_46 :: Chunk
+c256_f_46 = fc256 (Just (T.ColorNumber 46))
+
+c256_f_47 :: Chunk
+c256_f_47 = fc256 (Just (T.ColorNumber 47))
+
+c256_f_48 :: Chunk
+c256_f_48 = fc256 (Just (T.ColorNumber 48))
+
+c256_f_49 :: Chunk
+c256_f_49 = fc256 (Just (T.ColorNumber 49))
+
+c256_f_50 :: Chunk
+c256_f_50 = fc256 (Just (T.ColorNumber 50))
+
+c256_f_51 :: Chunk
+c256_f_51 = fc256 (Just (T.ColorNumber 51))
+
+c256_f_52 :: Chunk
+c256_f_52 = fc256 (Just (T.ColorNumber 52))
+
+c256_f_53 :: Chunk
+c256_f_53 = fc256 (Just (T.ColorNumber 53))
+
+c256_f_54 :: Chunk
+c256_f_54 = fc256 (Just (T.ColorNumber 54))
+
+c256_f_55 :: Chunk
+c256_f_55 = fc256 (Just (T.ColorNumber 55))
+
+c256_f_56 :: Chunk
+c256_f_56 = fc256 (Just (T.ColorNumber 56))
+
+c256_f_57 :: Chunk
+c256_f_57 = fc256 (Just (T.ColorNumber 57))
+
+c256_f_58 :: Chunk
+c256_f_58 = fc256 (Just (T.ColorNumber 58))
+
+c256_f_59 :: Chunk
+c256_f_59 = fc256 (Just (T.ColorNumber 59))
+
+c256_f_60 :: Chunk
+c256_f_60 = fc256 (Just (T.ColorNumber 60))
+
+c256_f_61 :: Chunk
+c256_f_61 = fc256 (Just (T.ColorNumber 61))
+
+c256_f_62 :: Chunk
+c256_f_62 = fc256 (Just (T.ColorNumber 62))
+
+c256_f_63 :: Chunk
+c256_f_63 = fc256 (Just (T.ColorNumber 63))
+
+c256_f_64 :: Chunk
+c256_f_64 = fc256 (Just (T.ColorNumber 64))
+
+c256_f_65 :: Chunk
+c256_f_65 = fc256 (Just (T.ColorNumber 65))
+
+c256_f_66 :: Chunk
+c256_f_66 = fc256 (Just (T.ColorNumber 66))
+
+c256_f_67 :: Chunk
+c256_f_67 = fc256 (Just (T.ColorNumber 67))
+
+c256_f_68 :: Chunk
+c256_f_68 = fc256 (Just (T.ColorNumber 68))
+
+c256_f_69 :: Chunk
+c256_f_69 = fc256 (Just (T.ColorNumber 69))
+
+c256_f_70 :: Chunk
+c256_f_70 = fc256 (Just (T.ColorNumber 70))
+
+c256_f_71 :: Chunk
+c256_f_71 = fc256 (Just (T.ColorNumber 71))
+
+c256_f_72 :: Chunk
+c256_f_72 = fc256 (Just (T.ColorNumber 72))
+
+c256_f_73 :: Chunk
+c256_f_73 = fc256 (Just (T.ColorNumber 73))
+
+c256_f_74 :: Chunk
+c256_f_74 = fc256 (Just (T.ColorNumber 74))
+
+c256_f_75 :: Chunk
+c256_f_75 = fc256 (Just (T.ColorNumber 75))
+
+c256_f_76 :: Chunk
+c256_f_76 = fc256 (Just (T.ColorNumber 76))
+
+c256_f_77 :: Chunk
+c256_f_77 = fc256 (Just (T.ColorNumber 77))
+
+c256_f_78 :: Chunk
+c256_f_78 = fc256 (Just (T.ColorNumber 78))
+
+c256_f_79 :: Chunk
+c256_f_79 = fc256 (Just (T.ColorNumber 79))
+
+c256_f_80 :: Chunk
+c256_f_80 = fc256 (Just (T.ColorNumber 80))
+
+c256_f_81 :: Chunk
+c256_f_81 = fc256 (Just (T.ColorNumber 81))
+
+c256_f_82 :: Chunk
+c256_f_82 = fc256 (Just (T.ColorNumber 82))
+
+c256_f_83 :: Chunk
+c256_f_83 = fc256 (Just (T.ColorNumber 83))
+
+c256_f_84 :: Chunk
+c256_f_84 = fc256 (Just (T.ColorNumber 84))
+
+c256_f_85 :: Chunk
+c256_f_85 = fc256 (Just (T.ColorNumber 85))
+
+c256_f_86 :: Chunk
+c256_f_86 = fc256 (Just (T.ColorNumber 86))
+
+c256_f_87 :: Chunk
+c256_f_87 = fc256 (Just (T.ColorNumber 87))
+
+c256_f_88 :: Chunk
+c256_f_88 = fc256 (Just (T.ColorNumber 88))
+
+c256_f_89 :: Chunk
+c256_f_89 = fc256 (Just (T.ColorNumber 89))
+
+c256_f_90 :: Chunk
+c256_f_90 = fc256 (Just (T.ColorNumber 90))
+
+c256_f_91 :: Chunk
+c256_f_91 = fc256 (Just (T.ColorNumber 91))
+
+c256_f_92 :: Chunk
+c256_f_92 = fc256 (Just (T.ColorNumber 92))
+
+c256_f_93 :: Chunk
+c256_f_93 = fc256 (Just (T.ColorNumber 93))
+
+c256_f_94 :: Chunk
+c256_f_94 = fc256 (Just (T.ColorNumber 94))
+
+c256_f_95 :: Chunk
+c256_f_95 = fc256 (Just (T.ColorNumber 95))
+
+c256_f_96 :: Chunk
+c256_f_96 = fc256 (Just (T.ColorNumber 96))
+
+c256_f_97 :: Chunk
+c256_f_97 = fc256 (Just (T.ColorNumber 97))
+
+c256_f_98 :: Chunk
+c256_f_98 = fc256 (Just (T.ColorNumber 98))
+
+c256_f_99 :: Chunk
+c256_f_99 = fc256 (Just (T.ColorNumber 99))
+
+c256_f_100 :: Chunk
+c256_f_100 = fc256 (Just (T.ColorNumber 100))
+
+c256_f_101 :: Chunk
+c256_f_101 = fc256 (Just (T.ColorNumber 101))
+
+c256_f_102 :: Chunk
+c256_f_102 = fc256 (Just (T.ColorNumber 102))
+
+c256_f_103 :: Chunk
+c256_f_103 = fc256 (Just (T.ColorNumber 103))
+
+c256_f_104 :: Chunk
+c256_f_104 = fc256 (Just (T.ColorNumber 104))
+
+c256_f_105 :: Chunk
+c256_f_105 = fc256 (Just (T.ColorNumber 105))
+
+c256_f_106 :: Chunk
+c256_f_106 = fc256 (Just (T.ColorNumber 106))
+
+c256_f_107 :: Chunk
+c256_f_107 = fc256 (Just (T.ColorNumber 107))
+
+c256_f_108 :: Chunk
+c256_f_108 = fc256 (Just (T.ColorNumber 108))
+
+c256_f_109 :: Chunk
+c256_f_109 = fc256 (Just (T.ColorNumber 109))
+
+c256_f_110 :: Chunk
+c256_f_110 = fc256 (Just (T.ColorNumber 110))
+
+c256_f_111 :: Chunk
+c256_f_111 = fc256 (Just (T.ColorNumber 111))
+
+c256_f_112 :: Chunk
+c256_f_112 = fc256 (Just (T.ColorNumber 112))
+
+c256_f_113 :: Chunk
+c256_f_113 = fc256 (Just (T.ColorNumber 113))
+
+c256_f_114 :: Chunk
+c256_f_114 = fc256 (Just (T.ColorNumber 114))
+
+c256_f_115 :: Chunk
+c256_f_115 = fc256 (Just (T.ColorNumber 115))
+
+c256_f_116 :: Chunk
+c256_f_116 = fc256 (Just (T.ColorNumber 116))
+
+c256_f_117 :: Chunk
+c256_f_117 = fc256 (Just (T.ColorNumber 117))
+
+c256_f_118 :: Chunk
+c256_f_118 = fc256 (Just (T.ColorNumber 118))
+
+c256_f_119 :: Chunk
+c256_f_119 = fc256 (Just (T.ColorNumber 119))
+
+c256_f_120 :: Chunk
+c256_f_120 = fc256 (Just (T.ColorNumber 120))
+
+c256_f_121 :: Chunk
+c256_f_121 = fc256 (Just (T.ColorNumber 121))
+
+c256_f_122 :: Chunk
+c256_f_122 = fc256 (Just (T.ColorNumber 122))
+
+c256_f_123 :: Chunk
+c256_f_123 = fc256 (Just (T.ColorNumber 123))
+
+c256_f_124 :: Chunk
+c256_f_124 = fc256 (Just (T.ColorNumber 124))
+
+c256_f_125 :: Chunk
+c256_f_125 = fc256 (Just (T.ColorNumber 125))
+
+c256_f_126 :: Chunk
+c256_f_126 = fc256 (Just (T.ColorNumber 126))
+
+c256_f_127 :: Chunk
+c256_f_127 = fc256 (Just (T.ColorNumber 127))
+
+c256_f_128 :: Chunk
+c256_f_128 = fc256 (Just (T.ColorNumber 128))
+
+c256_f_129 :: Chunk
+c256_f_129 = fc256 (Just (T.ColorNumber 129))
+
+c256_f_130 :: Chunk
+c256_f_130 = fc256 (Just (T.ColorNumber 130))
+
+c256_f_131 :: Chunk
+c256_f_131 = fc256 (Just (T.ColorNumber 131))
+
+c256_f_132 :: Chunk
+c256_f_132 = fc256 (Just (T.ColorNumber 132))
+
+c256_f_133 :: Chunk
+c256_f_133 = fc256 (Just (T.ColorNumber 133))
+
+c256_f_134 :: Chunk
+c256_f_134 = fc256 (Just (T.ColorNumber 134))
+
+c256_f_135 :: Chunk
+c256_f_135 = fc256 (Just (T.ColorNumber 135))
+
+c256_f_136 :: Chunk
+c256_f_136 = fc256 (Just (T.ColorNumber 136))
+
+c256_f_137 :: Chunk
+c256_f_137 = fc256 (Just (T.ColorNumber 137))
+
+c256_f_138 :: Chunk
+c256_f_138 = fc256 (Just (T.ColorNumber 138))
+
+c256_f_139 :: Chunk
+c256_f_139 = fc256 (Just (T.ColorNumber 139))
+
+c256_f_140 :: Chunk
+c256_f_140 = fc256 (Just (T.ColorNumber 140))
+
+c256_f_141 :: Chunk
+c256_f_141 = fc256 (Just (T.ColorNumber 141))
+
+c256_f_142 :: Chunk
+c256_f_142 = fc256 (Just (T.ColorNumber 142))
+
+c256_f_143 :: Chunk
+c256_f_143 = fc256 (Just (T.ColorNumber 143))
+
+c256_f_144 :: Chunk
+c256_f_144 = fc256 (Just (T.ColorNumber 144))
+
+c256_f_145 :: Chunk
+c256_f_145 = fc256 (Just (T.ColorNumber 145))
+
+c256_f_146 :: Chunk
+c256_f_146 = fc256 (Just (T.ColorNumber 146))
+
+c256_f_147 :: Chunk
+c256_f_147 = fc256 (Just (T.ColorNumber 147))
+
+c256_f_148 :: Chunk
+c256_f_148 = fc256 (Just (T.ColorNumber 148))
+
+c256_f_149 :: Chunk
+c256_f_149 = fc256 (Just (T.ColorNumber 149))
+
+c256_f_150 :: Chunk
+c256_f_150 = fc256 (Just (T.ColorNumber 150))
+
+c256_f_151 :: Chunk
+c256_f_151 = fc256 (Just (T.ColorNumber 151))
+
+c256_f_152 :: Chunk
+c256_f_152 = fc256 (Just (T.ColorNumber 152))
+
+c256_f_153 :: Chunk
+c256_f_153 = fc256 (Just (T.ColorNumber 153))
+
+c256_f_154 :: Chunk
+c256_f_154 = fc256 (Just (T.ColorNumber 154))
+
+c256_f_155 :: Chunk
+c256_f_155 = fc256 (Just (T.ColorNumber 155))
+
+c256_f_156 :: Chunk
+c256_f_156 = fc256 (Just (T.ColorNumber 156))
+
+c256_f_157 :: Chunk
+c256_f_157 = fc256 (Just (T.ColorNumber 157))
+
+c256_f_158 :: Chunk
+c256_f_158 = fc256 (Just (T.ColorNumber 158))
+
+c256_f_159 :: Chunk
+c256_f_159 = fc256 (Just (T.ColorNumber 159))
+
+c256_f_160 :: Chunk
+c256_f_160 = fc256 (Just (T.ColorNumber 160))
+
+c256_f_161 :: Chunk
+c256_f_161 = fc256 (Just (T.ColorNumber 161))
+
+c256_f_162 :: Chunk
+c256_f_162 = fc256 (Just (T.ColorNumber 162))
+
+c256_f_163 :: Chunk
+c256_f_163 = fc256 (Just (T.ColorNumber 163))
+
+c256_f_164 :: Chunk
+c256_f_164 = fc256 (Just (T.ColorNumber 164))
+
+c256_f_165 :: Chunk
+c256_f_165 = fc256 (Just (T.ColorNumber 165))
+
+c256_f_166 :: Chunk
+c256_f_166 = fc256 (Just (T.ColorNumber 166))
+
+c256_f_167 :: Chunk
+c256_f_167 = fc256 (Just (T.ColorNumber 167))
+
+c256_f_168 :: Chunk
+c256_f_168 = fc256 (Just (T.ColorNumber 168))
+
+c256_f_169 :: Chunk
+c256_f_169 = fc256 (Just (T.ColorNumber 169))
+
+c256_f_170 :: Chunk
+c256_f_170 = fc256 (Just (T.ColorNumber 170))
+
+c256_f_171 :: Chunk
+c256_f_171 = fc256 (Just (T.ColorNumber 171))
+
+c256_f_172 :: Chunk
+c256_f_172 = fc256 (Just (T.ColorNumber 172))
+
+c256_f_173 :: Chunk
+c256_f_173 = fc256 (Just (T.ColorNumber 173))
+
+c256_f_174 :: Chunk
+c256_f_174 = fc256 (Just (T.ColorNumber 174))
+
+c256_f_175 :: Chunk
+c256_f_175 = fc256 (Just (T.ColorNumber 175))
+
+c256_f_176 :: Chunk
+c256_f_176 = fc256 (Just (T.ColorNumber 176))
+
+c256_f_177 :: Chunk
+c256_f_177 = fc256 (Just (T.ColorNumber 177))
+
+c256_f_178 :: Chunk
+c256_f_178 = fc256 (Just (T.ColorNumber 178))
+
+c256_f_179 :: Chunk
+c256_f_179 = fc256 (Just (T.ColorNumber 179))
+
+c256_f_180 :: Chunk
+c256_f_180 = fc256 (Just (T.ColorNumber 180))
+
+c256_f_181 :: Chunk
+c256_f_181 = fc256 (Just (T.ColorNumber 181))
+
+c256_f_182 :: Chunk
+c256_f_182 = fc256 (Just (T.ColorNumber 182))
+
+c256_f_183 :: Chunk
+c256_f_183 = fc256 (Just (T.ColorNumber 183))
+
+c256_f_184 :: Chunk
+c256_f_184 = fc256 (Just (T.ColorNumber 184))
+
+c256_f_185 :: Chunk
+c256_f_185 = fc256 (Just (T.ColorNumber 185))
+
+c256_f_186 :: Chunk
+c256_f_186 = fc256 (Just (T.ColorNumber 186))
+
+c256_f_187 :: Chunk
+c256_f_187 = fc256 (Just (T.ColorNumber 187))
+
+c256_f_188 :: Chunk
+c256_f_188 = fc256 (Just (T.ColorNumber 188))
+
+c256_f_189 :: Chunk
+c256_f_189 = fc256 (Just (T.ColorNumber 189))
+
+c256_f_190 :: Chunk
+c256_f_190 = fc256 (Just (T.ColorNumber 190))
+
+c256_f_191 :: Chunk
+c256_f_191 = fc256 (Just (T.ColorNumber 191))
+
+c256_f_192 :: Chunk
+c256_f_192 = fc256 (Just (T.ColorNumber 192))
+
+c256_f_193 :: Chunk
+c256_f_193 = fc256 (Just (T.ColorNumber 193))
+
+c256_f_194 :: Chunk
+c256_f_194 = fc256 (Just (T.ColorNumber 194))
+
+c256_f_195 :: Chunk
+c256_f_195 = fc256 (Just (T.ColorNumber 195))
+
+c256_f_196 :: Chunk
+c256_f_196 = fc256 (Just (T.ColorNumber 196))
+
+c256_f_197 :: Chunk
+c256_f_197 = fc256 (Just (T.ColorNumber 197))
+
+c256_f_198 :: Chunk
+c256_f_198 = fc256 (Just (T.ColorNumber 198))
+
+c256_f_199 :: Chunk
+c256_f_199 = fc256 (Just (T.ColorNumber 199))
+
+c256_f_200 :: Chunk
+c256_f_200 = fc256 (Just (T.ColorNumber 200))
+
+c256_f_201 :: Chunk
+c256_f_201 = fc256 (Just (T.ColorNumber 201))
+
+c256_f_202 :: Chunk
+c256_f_202 = fc256 (Just (T.ColorNumber 202))
+
+c256_f_203 :: Chunk
+c256_f_203 = fc256 (Just (T.ColorNumber 203))
+
+c256_f_204 :: Chunk
+c256_f_204 = fc256 (Just (T.ColorNumber 204))
+
+c256_f_205 :: Chunk
+c256_f_205 = fc256 (Just (T.ColorNumber 205))
+
+c256_f_206 :: Chunk
+c256_f_206 = fc256 (Just (T.ColorNumber 206))
+
+c256_f_207 :: Chunk
+c256_f_207 = fc256 (Just (T.ColorNumber 207))
+
+c256_f_208 :: Chunk
+c256_f_208 = fc256 (Just (T.ColorNumber 208))
+
+c256_f_209 :: Chunk
+c256_f_209 = fc256 (Just (T.ColorNumber 209))
+
+c256_f_210 :: Chunk
+c256_f_210 = fc256 (Just (T.ColorNumber 210))
+
+c256_f_211 :: Chunk
+c256_f_211 = fc256 (Just (T.ColorNumber 211))
+
+c256_f_212 :: Chunk
+c256_f_212 = fc256 (Just (T.ColorNumber 212))
+
+c256_f_213 :: Chunk
+c256_f_213 = fc256 (Just (T.ColorNumber 213))
+
+c256_f_214 :: Chunk
+c256_f_214 = fc256 (Just (T.ColorNumber 214))
+
+c256_f_215 :: Chunk
+c256_f_215 = fc256 (Just (T.ColorNumber 215))
+
+c256_f_216 :: Chunk
+c256_f_216 = fc256 (Just (T.ColorNumber 216))
+
+c256_f_217 :: Chunk
+c256_f_217 = fc256 (Just (T.ColorNumber 217))
+
+c256_f_218 :: Chunk
+c256_f_218 = fc256 (Just (T.ColorNumber 218))
+
+c256_f_219 :: Chunk
+c256_f_219 = fc256 (Just (T.ColorNumber 219))
+
+c256_f_220 :: Chunk
+c256_f_220 = fc256 (Just (T.ColorNumber 220))
+
+c256_f_221 :: Chunk
+c256_f_221 = fc256 (Just (T.ColorNumber 221))
+
+c256_f_222 :: Chunk
+c256_f_222 = fc256 (Just (T.ColorNumber 222))
+
+c256_f_223 :: Chunk
+c256_f_223 = fc256 (Just (T.ColorNumber 223))
+
+c256_f_224 :: Chunk
+c256_f_224 = fc256 (Just (T.ColorNumber 224))
+
+c256_f_225 :: Chunk
+c256_f_225 = fc256 (Just (T.ColorNumber 225))
+
+c256_f_226 :: Chunk
+c256_f_226 = fc256 (Just (T.ColorNumber 226))
+
+c256_f_227 :: Chunk
+c256_f_227 = fc256 (Just (T.ColorNumber 227))
+
+c256_f_228 :: Chunk
+c256_f_228 = fc256 (Just (T.ColorNumber 228))
+
+c256_f_229 :: Chunk
+c256_f_229 = fc256 (Just (T.ColorNumber 229))
+
+c256_f_230 :: Chunk
+c256_f_230 = fc256 (Just (T.ColorNumber 230))
+
+c256_f_231 :: Chunk
+c256_f_231 = fc256 (Just (T.ColorNumber 231))
+
+c256_f_232 :: Chunk
+c256_f_232 = fc256 (Just (T.ColorNumber 232))
+
+c256_f_233 :: Chunk
+c256_f_233 = fc256 (Just (T.ColorNumber 233))
+
+c256_f_234 :: Chunk
+c256_f_234 = fc256 (Just (T.ColorNumber 234))
+
+c256_f_235 :: Chunk
+c256_f_235 = fc256 (Just (T.ColorNumber 235))
+
+c256_f_236 :: Chunk
+c256_f_236 = fc256 (Just (T.ColorNumber 236))
+
+c256_f_237 :: Chunk
+c256_f_237 = fc256 (Just (T.ColorNumber 237))
+
+c256_f_238 :: Chunk
+c256_f_238 = fc256 (Just (T.ColorNumber 238))
+
+c256_f_239 :: Chunk
+c256_f_239 = fc256 (Just (T.ColorNumber 239))
+
+c256_f_240 :: Chunk
+c256_f_240 = fc256 (Just (T.ColorNumber 240))
+
+c256_f_241 :: Chunk
+c256_f_241 = fc256 (Just (T.ColorNumber 241))
+
+c256_f_242 :: Chunk
+c256_f_242 = fc256 (Just (T.ColorNumber 242))
+
+c256_f_243 :: Chunk
+c256_f_243 = fc256 (Just (T.ColorNumber 243))
+
+c256_f_244 :: Chunk
+c256_f_244 = fc256 (Just (T.ColorNumber 244))
+
+c256_f_245 :: Chunk
+c256_f_245 = fc256 (Just (T.ColorNumber 245))
+
+c256_f_246 :: Chunk
+c256_f_246 = fc256 (Just (T.ColorNumber 246))
+
+c256_f_247 :: Chunk
+c256_f_247 = fc256 (Just (T.ColorNumber 247))
+
+c256_f_248 :: Chunk
+c256_f_248 = fc256 (Just (T.ColorNumber 248))
+
+c256_f_249 :: Chunk
+c256_f_249 = fc256 (Just (T.ColorNumber 249))
+
+c256_f_250 :: Chunk
+c256_f_250 = fc256 (Just (T.ColorNumber 250))
+
+c256_f_251 :: Chunk
+c256_f_251 = fc256 (Just (T.ColorNumber 251))
+
+c256_f_252 :: Chunk
+c256_f_252 = fc256 (Just (T.ColorNumber 252))
+
+c256_f_253 :: Chunk
+c256_f_253 = fc256 (Just (T.ColorNumber 253))
+
+c256_f_254 :: Chunk
+c256_f_254 = fc256 (Just (T.ColorNumber 254))
+
+c256_f_255 :: Chunk
+c256_f_255 = fc256 (Just (T.ColorNumber 255))
+
+
+-- ** 256 color background colors
+
+c256_b_default :: Chunk
+c256_b_default = bc256 Nothing
+
+c256_b_0 :: Chunk
+c256_b_0 = bc256 (Just (T.ColorNumber 0))
+
+c256_b_black :: Chunk
+c256_b_black = bc256 (Just (T.ColorNumber 0))
+
+c256_b_1 :: Chunk
+c256_b_1 = bc256 (Just (T.ColorNumber 1))
+
+c256_b_red :: Chunk
+c256_b_red = bc256 (Just (T.ColorNumber 1))
+
+c256_b_2 :: Chunk
+c256_b_2 = bc256 (Just (T.ColorNumber 2))
+
+c256_b_green :: Chunk
+c256_b_green = bc256 (Just (T.ColorNumber 2))
+
+c256_b_3 :: Chunk
+c256_b_3 = bc256 (Just (T.ColorNumber 3))
+
+c256_b_yellow :: Chunk
+c256_b_yellow = bc256 (Just (T.ColorNumber 3))
+
+c256_b_4 :: Chunk
+c256_b_4 = bc256 (Just (T.ColorNumber 4))
+
+c256_b_blue :: Chunk
+c256_b_blue = bc256 (Just (T.ColorNumber 4))
+
+c256_b_5 :: Chunk
+c256_b_5 = bc256 (Just (T.ColorNumber 5))
+
+c256_b_magenta :: Chunk
+c256_b_magenta = bc256 (Just (T.ColorNumber 5))
+
+c256_b_6 :: Chunk
+c256_b_6 = bc256 (Just (T.ColorNumber 6))
+
+c256_b_cyan :: Chunk
+c256_b_cyan = bc256 (Just (T.ColorNumber 6))
+
+c256_b_7 :: Chunk
+c256_b_7 = bc256 (Just (T.ColorNumber 7))
+
+c256_b_white :: Chunk
+c256_b_white = bc256 (Just (T.ColorNumber 7))
+
+c256_b_8 :: Chunk
+c256_b_8 = bc256 (Just (T.ColorNumber 8))
+
+c256_b_grey :: Chunk
+c256_b_grey = bc256 (Just (T.ColorNumber 8))
+
+c256_b_9 :: Chunk
+c256_b_9 = bc256 (Just (T.ColorNumber 9))
+
+c256_b_red_bright :: Chunk
+c256_b_red_bright = bc256 (Just (T.ColorNumber 9))
+
+c256_b_10 :: Chunk
+c256_b_10 = bc256 (Just (T.ColorNumber 10))
+
+c256_b_green_bright :: Chunk
+c256_b_green_bright = bc256 (Just (T.ColorNumber 10))
+
+c256_b_11 :: Chunk
+c256_b_11 = bc256 (Just (T.ColorNumber 11))
+
+c256_b_yellow_bright :: Chunk
+c256_b_yellow_bright = bc256 (Just (T.ColorNumber 11))
+
+c256_b_12 :: Chunk
+c256_b_12 = bc256 (Just (T.ColorNumber 12))
+
+c256_b_blue_bright :: Chunk
+c256_b_blue_bright = bc256 (Just (T.ColorNumber 12))
+
+c256_b_13 :: Chunk
+c256_b_13 = bc256 (Just (T.ColorNumber 13))
+
+c256_b_magenta_bright :: Chunk
+c256_b_magenta_bright = bc256 (Just (T.ColorNumber 13))
+
+c256_b_14 :: Chunk
+c256_b_14 = bc256 (Just (T.ColorNumber 14))
+
+c256_b_cyan_bright :: Chunk
+c256_b_cyan_bright = bc256 (Just (T.ColorNumber 14))
+
+c256_b_15 :: Chunk
+c256_b_15 = bc256 (Just (T.ColorNumber 15))
+
+c256_b_white_bright :: Chunk
+c256_b_white_bright = bc256 (Just (T.ColorNumber 15))
+
+c256_b_16 :: Chunk
+c256_b_16 = bc256 (Just (T.ColorNumber 16))
+
+c256_b_17 :: Chunk
+c256_b_17 = bc256 (Just (T.ColorNumber 17))
+
+c256_b_18 :: Chunk
+c256_b_18 = bc256 (Just (T.ColorNumber 18))
+
+c256_b_19 :: Chunk
+c256_b_19 = bc256 (Just (T.ColorNumber 19))
+
+c256_b_20 :: Chunk
+c256_b_20 = bc256 (Just (T.ColorNumber 20))
+
+c256_b_21 :: Chunk
+c256_b_21 = bc256 (Just (T.ColorNumber 21))
+
+c256_b_22 :: Chunk
+c256_b_22 = bc256 (Just (T.ColorNumber 22))
+
+c256_b_23 :: Chunk
+c256_b_23 = bc256 (Just (T.ColorNumber 23))
+
+c256_b_24 :: Chunk
+c256_b_24 = bc256 (Just (T.ColorNumber 24))
+
+c256_b_25 :: Chunk
+c256_b_25 = bc256 (Just (T.ColorNumber 25))
+
+c256_b_26 :: Chunk
+c256_b_26 = bc256 (Just (T.ColorNumber 26))
+
+c256_b_27 :: Chunk
+c256_b_27 = bc256 (Just (T.ColorNumber 27))
+
+c256_b_28 :: Chunk
+c256_b_28 = bc256 (Just (T.ColorNumber 28))
+
+c256_b_29 :: Chunk
+c256_b_29 = bc256 (Just (T.ColorNumber 29))
+
+c256_b_30 :: Chunk
+c256_b_30 = bc256 (Just (T.ColorNumber 30))
+
+c256_b_31 :: Chunk
+c256_b_31 = bc256 (Just (T.ColorNumber 31))
+
+c256_b_32 :: Chunk
+c256_b_32 = bc256 (Just (T.ColorNumber 32))
+
+c256_b_33 :: Chunk
+c256_b_33 = bc256 (Just (T.ColorNumber 33))
+
+c256_b_34 :: Chunk
+c256_b_34 = bc256 (Just (T.ColorNumber 34))
+
+c256_b_35 :: Chunk
+c256_b_35 = bc256 (Just (T.ColorNumber 35))
+
+c256_b_36 :: Chunk
+c256_b_36 = bc256 (Just (T.ColorNumber 36))
+
+c256_b_37 :: Chunk
+c256_b_37 = bc256 (Just (T.ColorNumber 37))
+
+c256_b_38 :: Chunk
+c256_b_38 = bc256 (Just (T.ColorNumber 38))
+
+c256_b_39 :: Chunk
+c256_b_39 = bc256 (Just (T.ColorNumber 39))
+
+c256_b_40 :: Chunk
+c256_b_40 = bc256 (Just (T.ColorNumber 40))
+
+c256_b_41 :: Chunk
+c256_b_41 = bc256 (Just (T.ColorNumber 41))
+
+c256_b_42 :: Chunk
+c256_b_42 = bc256 (Just (T.ColorNumber 42))
+
+c256_b_43 :: Chunk
+c256_b_43 = bc256 (Just (T.ColorNumber 43))
+
+c256_b_44 :: Chunk
+c256_b_44 = bc256 (Just (T.ColorNumber 44))
+
+c256_b_45 :: Chunk
+c256_b_45 = bc256 (Just (T.ColorNumber 45))
+
+c256_b_46 :: Chunk
+c256_b_46 = bc256 (Just (T.ColorNumber 46))
+
+c256_b_47 :: Chunk
+c256_b_47 = bc256 (Just (T.ColorNumber 47))
+
+c256_b_48 :: Chunk
+c256_b_48 = bc256 (Just (T.ColorNumber 48))
+
+c256_b_49 :: Chunk
+c256_b_49 = bc256 (Just (T.ColorNumber 49))
+
+c256_b_50 :: Chunk
+c256_b_50 = bc256 (Just (T.ColorNumber 50))
+
+c256_b_51 :: Chunk
+c256_b_51 = bc256 (Just (T.ColorNumber 51))
+
+c256_b_52 :: Chunk
+c256_b_52 = bc256 (Just (T.ColorNumber 52))
+
+c256_b_53 :: Chunk
+c256_b_53 = bc256 (Just (T.ColorNumber 53))
+
+c256_b_54 :: Chunk
+c256_b_54 = bc256 (Just (T.ColorNumber 54))
+
+c256_b_55 :: Chunk
+c256_b_55 = bc256 (Just (T.ColorNumber 55))
+
+c256_b_56 :: Chunk
+c256_b_56 = bc256 (Just (T.ColorNumber 56))
+
+c256_b_57 :: Chunk
+c256_b_57 = bc256 (Just (T.ColorNumber 57))
+
+c256_b_58 :: Chunk
+c256_b_58 = bc256 (Just (T.ColorNumber 58))
+
+c256_b_59 :: Chunk
+c256_b_59 = bc256 (Just (T.ColorNumber 59))
+
+c256_b_60 :: Chunk
+c256_b_60 = bc256 (Just (T.ColorNumber 60))
+
+c256_b_61 :: Chunk
+c256_b_61 = bc256 (Just (T.ColorNumber 61))
+
+c256_b_62 :: Chunk
+c256_b_62 = bc256 (Just (T.ColorNumber 62))
+
+c256_b_63 :: Chunk
+c256_b_63 = bc256 (Just (T.ColorNumber 63))
+
+c256_b_64 :: Chunk
+c256_b_64 = bc256 (Just (T.ColorNumber 64))
+
+c256_b_65 :: Chunk
+c256_b_65 = bc256 (Just (T.ColorNumber 65))
+
+c256_b_66 :: Chunk
+c256_b_66 = bc256 (Just (T.ColorNumber 66))
+
+c256_b_67 :: Chunk
+c256_b_67 = bc256 (Just (T.ColorNumber 67))
+
+c256_b_68 :: Chunk
+c256_b_68 = bc256 (Just (T.ColorNumber 68))
+
+c256_b_69 :: Chunk
+c256_b_69 = bc256 (Just (T.ColorNumber 69))
+
+c256_b_70 :: Chunk
+c256_b_70 = bc256 (Just (T.ColorNumber 70))
+
+c256_b_71 :: Chunk
+c256_b_71 = bc256 (Just (T.ColorNumber 71))
+
+c256_b_72 :: Chunk
+c256_b_72 = bc256 (Just (T.ColorNumber 72))
+
+c256_b_73 :: Chunk
+c256_b_73 = bc256 (Just (T.ColorNumber 73))
+
+c256_b_74 :: Chunk
+c256_b_74 = bc256 (Just (T.ColorNumber 74))
+
+c256_b_75 :: Chunk
+c256_b_75 = bc256 (Just (T.ColorNumber 75))
+
+c256_b_76 :: Chunk
+c256_b_76 = bc256 (Just (T.ColorNumber 76))
+
+c256_b_77 :: Chunk
+c256_b_77 = bc256 (Just (T.ColorNumber 77))
+
+c256_b_78 :: Chunk
+c256_b_78 = bc256 (Just (T.ColorNumber 78))
+
+c256_b_79 :: Chunk
+c256_b_79 = bc256 (Just (T.ColorNumber 79))
+
+c256_b_80 :: Chunk
+c256_b_80 = bc256 (Just (T.ColorNumber 80))
+
+c256_b_81 :: Chunk
+c256_b_81 = bc256 (Just (T.ColorNumber 81))
+
+c256_b_82 :: Chunk
+c256_b_82 = bc256 (Just (T.ColorNumber 82))
+
+c256_b_83 :: Chunk
+c256_b_83 = bc256 (Just (T.ColorNumber 83))
+
+c256_b_84 :: Chunk
+c256_b_84 = bc256 (Just (T.ColorNumber 84))
+
+c256_b_85 :: Chunk
+c256_b_85 = bc256 (Just (T.ColorNumber 85))
+
+c256_b_86 :: Chunk
+c256_b_86 = bc256 (Just (T.ColorNumber 86))
+
+c256_b_87 :: Chunk
+c256_b_87 = bc256 (Just (T.ColorNumber 87))
+
+c256_b_88 :: Chunk
+c256_b_88 = bc256 (Just (T.ColorNumber 88))
+
+c256_b_89 :: Chunk
+c256_b_89 = bc256 (Just (T.ColorNumber 89))
+
+c256_b_90 :: Chunk
+c256_b_90 = bc256 (Just (T.ColorNumber 90))
+
+c256_b_91 :: Chunk
+c256_b_91 = bc256 (Just (T.ColorNumber 91))
+
+c256_b_92 :: Chunk
+c256_b_92 = bc256 (Just (T.ColorNumber 92))
+
+c256_b_93 :: Chunk
+c256_b_93 = bc256 (Just (T.ColorNumber 93))
+
+c256_b_94 :: Chunk
+c256_b_94 = bc256 (Just (T.ColorNumber 94))
+
+c256_b_95 :: Chunk
+c256_b_95 = bc256 (Just (T.ColorNumber 95))
+
+c256_b_96 :: Chunk
+c256_b_96 = bc256 (Just (T.ColorNumber 96))
+
+c256_b_97 :: Chunk
+c256_b_97 = bc256 (Just (T.ColorNumber 97))
+
+c256_b_98 :: Chunk
+c256_b_98 = bc256 (Just (T.ColorNumber 98))
+
+c256_b_99 :: Chunk
+c256_b_99 = bc256 (Just (T.ColorNumber 99))
+
+c256_b_100 :: Chunk
+c256_b_100 = bc256 (Just (T.ColorNumber 100))
+
+c256_b_101 :: Chunk
+c256_b_101 = bc256 (Just (T.ColorNumber 101))
+
+c256_b_102 :: Chunk
+c256_b_102 = bc256 (Just (T.ColorNumber 102))
+
+c256_b_103 :: Chunk
+c256_b_103 = bc256 (Just (T.ColorNumber 103))
+
+c256_b_104 :: Chunk
+c256_b_104 = bc256 (Just (T.ColorNumber 104))
+
+c256_b_105 :: Chunk
+c256_b_105 = bc256 (Just (T.ColorNumber 105))
+
+c256_b_106 :: Chunk
+c256_b_106 = bc256 (Just (T.ColorNumber 106))
+
+c256_b_107 :: Chunk
+c256_b_107 = bc256 (Just (T.ColorNumber 107))
+
+c256_b_108 :: Chunk
+c256_b_108 = bc256 (Just (T.ColorNumber 108))
+
+c256_b_109 :: Chunk
+c256_b_109 = bc256 (Just (T.ColorNumber 109))
+
+c256_b_110 :: Chunk
+c256_b_110 = bc256 (Just (T.ColorNumber 110))
+
+c256_b_111 :: Chunk
+c256_b_111 = bc256 (Just (T.ColorNumber 111))
+
+c256_b_112 :: Chunk
+c256_b_112 = bc256 (Just (T.ColorNumber 112))
+
+c256_b_113 :: Chunk
+c256_b_113 = bc256 (Just (T.ColorNumber 113))
+
+c256_b_114 :: Chunk
+c256_b_114 = bc256 (Just (T.ColorNumber 114))
+
+c256_b_115 :: Chunk
+c256_b_115 = bc256 (Just (T.ColorNumber 115))
+
+c256_b_116 :: Chunk
+c256_b_116 = bc256 (Just (T.ColorNumber 116))
+
+c256_b_117 :: Chunk
+c256_b_117 = bc256 (Just (T.ColorNumber 117))
+
+c256_b_118 :: Chunk
+c256_b_118 = bc256 (Just (T.ColorNumber 118))
+
+c256_b_119 :: Chunk
+c256_b_119 = bc256 (Just (T.ColorNumber 119))
+
+c256_b_120 :: Chunk
+c256_b_120 = bc256 (Just (T.ColorNumber 120))
+
+c256_b_121 :: Chunk
+c256_b_121 = bc256 (Just (T.ColorNumber 121))
+
+c256_b_122 :: Chunk
+c256_b_122 = bc256 (Just (T.ColorNumber 122))
+
+c256_b_123 :: Chunk
+c256_b_123 = bc256 (Just (T.ColorNumber 123))
+
+c256_b_124 :: Chunk
+c256_b_124 = bc256 (Just (T.ColorNumber 124))
+
+c256_b_125 :: Chunk
+c256_b_125 = bc256 (Just (T.ColorNumber 125))
+
+c256_b_126 :: Chunk
+c256_b_126 = bc256 (Just (T.ColorNumber 126))
+
+c256_b_127 :: Chunk
+c256_b_127 = bc256 (Just (T.ColorNumber 127))
+
+c256_b_128 :: Chunk
+c256_b_128 = bc256 (Just (T.ColorNumber 128))
+
+c256_b_129 :: Chunk
+c256_b_129 = bc256 (Just (T.ColorNumber 129))
+
+c256_b_130 :: Chunk
+c256_b_130 = bc256 (Just (T.ColorNumber 130))
+
+c256_b_131 :: Chunk
+c256_b_131 = bc256 (Just (T.ColorNumber 131))
+
+c256_b_132 :: Chunk
+c256_b_132 = bc256 (Just (T.ColorNumber 132))
+
+c256_b_133 :: Chunk
+c256_b_133 = bc256 (Just (T.ColorNumber 133))
+
+c256_b_134 :: Chunk
+c256_b_134 = bc256 (Just (T.ColorNumber 134))
+
+c256_b_135 :: Chunk
+c256_b_135 = bc256 (Just (T.ColorNumber 135))
+
+c256_b_136 :: Chunk
+c256_b_136 = bc256 (Just (T.ColorNumber 136))
+
+c256_b_137 :: Chunk
+c256_b_137 = bc256 (Just (T.ColorNumber 137))
+
+c256_b_138 :: Chunk
+c256_b_138 = bc256 (Just (T.ColorNumber 138))
+
+c256_b_139 :: Chunk
+c256_b_139 = bc256 (Just (T.ColorNumber 139))
+
+c256_b_140 :: Chunk
+c256_b_140 = bc256 (Just (T.ColorNumber 140))
+
+c256_b_141 :: Chunk
+c256_b_141 = bc256 (Just (T.ColorNumber 141))
+
+c256_b_142 :: Chunk
+c256_b_142 = bc256 (Just (T.ColorNumber 142))
+
+c256_b_143 :: Chunk
+c256_b_143 = bc256 (Just (T.ColorNumber 143))
+
+c256_b_144 :: Chunk
+c256_b_144 = bc256 (Just (T.ColorNumber 144))
+
+c256_b_145 :: Chunk
+c256_b_145 = bc256 (Just (T.ColorNumber 145))
+
+c256_b_146 :: Chunk
+c256_b_146 = bc256 (Just (T.ColorNumber 146))
+
+c256_b_147 :: Chunk
+c256_b_147 = bc256 (Just (T.ColorNumber 147))
+
+c256_b_148 :: Chunk
+c256_b_148 = bc256 (Just (T.ColorNumber 148))
+
+c256_b_149 :: Chunk
+c256_b_149 = bc256 (Just (T.ColorNumber 149))
+
+c256_b_150 :: Chunk
+c256_b_150 = bc256 (Just (T.ColorNumber 150))
+
+c256_b_151 :: Chunk
+c256_b_151 = bc256 (Just (T.ColorNumber 151))
+
+c256_b_152 :: Chunk
+c256_b_152 = bc256 (Just (T.ColorNumber 152))
+
+c256_b_153 :: Chunk
+c256_b_153 = bc256 (Just (T.ColorNumber 153))
+
+c256_b_154 :: Chunk
+c256_b_154 = bc256 (Just (T.ColorNumber 154))
+
+c256_b_155 :: Chunk
+c256_b_155 = bc256 (Just (T.ColorNumber 155))
+
+c256_b_156 :: Chunk
+c256_b_156 = bc256 (Just (T.ColorNumber 156))
+
+c256_b_157 :: Chunk
+c256_b_157 = bc256 (Just (T.ColorNumber 157))
+
+c256_b_158 :: Chunk
+c256_b_158 = bc256 (Just (T.ColorNumber 158))
+
+c256_b_159 :: Chunk
+c256_b_159 = bc256 (Just (T.ColorNumber 159))
+
+c256_b_160 :: Chunk
+c256_b_160 = bc256 (Just (T.ColorNumber 160))
+
+c256_b_161 :: Chunk
+c256_b_161 = bc256 (Just (T.ColorNumber 161))
+
+c256_b_162 :: Chunk
+c256_b_162 = bc256 (Just (T.ColorNumber 162))
+
+c256_b_163 :: Chunk
+c256_b_163 = bc256 (Just (T.ColorNumber 163))
+
+c256_b_164 :: Chunk
+c256_b_164 = bc256 (Just (T.ColorNumber 164))
+
+c256_b_165 :: Chunk
+c256_b_165 = bc256 (Just (T.ColorNumber 165))
+
+c256_b_166 :: Chunk
+c256_b_166 = bc256 (Just (T.ColorNumber 166))
+
+c256_b_167 :: Chunk
+c256_b_167 = bc256 (Just (T.ColorNumber 167))
+
+c256_b_168 :: Chunk
+c256_b_168 = bc256 (Just (T.ColorNumber 168))
+
+c256_b_169 :: Chunk
+c256_b_169 = bc256 (Just (T.ColorNumber 169))
+
+c256_b_170 :: Chunk
+c256_b_170 = bc256 (Just (T.ColorNumber 170))
+
+c256_b_171 :: Chunk
+c256_b_171 = bc256 (Just (T.ColorNumber 171))
+
+c256_b_172 :: Chunk
+c256_b_172 = bc256 (Just (T.ColorNumber 172))
+
+c256_b_173 :: Chunk
+c256_b_173 = bc256 (Just (T.ColorNumber 173))
+
+c256_b_174 :: Chunk
+c256_b_174 = bc256 (Just (T.ColorNumber 174))
+
+c256_b_175 :: Chunk
+c256_b_175 = bc256 (Just (T.ColorNumber 175))
+
+c256_b_176 :: Chunk
+c256_b_176 = bc256 (Just (T.ColorNumber 176))
+
+c256_b_177 :: Chunk
+c256_b_177 = bc256 (Just (T.ColorNumber 177))
+
+c256_b_178 :: Chunk
+c256_b_178 = bc256 (Just (T.ColorNumber 178))
+
+c256_b_179 :: Chunk
+c256_b_179 = bc256 (Just (T.ColorNumber 179))
+
+c256_b_180 :: Chunk
+c256_b_180 = bc256 (Just (T.ColorNumber 180))
+
+c256_b_181 :: Chunk
+c256_b_181 = bc256 (Just (T.ColorNumber 181))
+
+c256_b_182 :: Chunk
+c256_b_182 = bc256 (Just (T.ColorNumber 182))
+
+c256_b_183 :: Chunk
+c256_b_183 = bc256 (Just (T.ColorNumber 183))
+
+c256_b_184 :: Chunk
+c256_b_184 = bc256 (Just (T.ColorNumber 184))
+
+c256_b_185 :: Chunk
+c256_b_185 = bc256 (Just (T.ColorNumber 185))
+
+c256_b_186 :: Chunk
+c256_b_186 = bc256 (Just (T.ColorNumber 186))
+
+c256_b_187 :: Chunk
+c256_b_187 = bc256 (Just (T.ColorNumber 187))
+
+c256_b_188 :: Chunk
+c256_b_188 = bc256 (Just (T.ColorNumber 188))
+
+c256_b_189 :: Chunk
+c256_b_189 = bc256 (Just (T.ColorNumber 189))
+
+c256_b_190 :: Chunk
+c256_b_190 = bc256 (Just (T.ColorNumber 190))
+
+c256_b_191 :: Chunk
+c256_b_191 = bc256 (Just (T.ColorNumber 191))
+
+c256_b_192 :: Chunk
+c256_b_192 = bc256 (Just (T.ColorNumber 192))
+
+c256_b_193 :: Chunk
+c256_b_193 = bc256 (Just (T.ColorNumber 193))
+
+c256_b_194 :: Chunk
+c256_b_194 = bc256 (Just (T.ColorNumber 194))
+
+c256_b_195 :: Chunk
+c256_b_195 = bc256 (Just (T.ColorNumber 195))
+
+c256_b_196 :: Chunk
+c256_b_196 = bc256 (Just (T.ColorNumber 196))
+
+c256_b_197 :: Chunk
+c256_b_197 = bc256 (Just (T.ColorNumber 197))
+
+c256_b_198 :: Chunk
+c256_b_198 = bc256 (Just (T.ColorNumber 198))
+
+c256_b_199 :: Chunk
+c256_b_199 = bc256 (Just (T.ColorNumber 199))
+
+c256_b_200 :: Chunk
+c256_b_200 = bc256 (Just (T.ColorNumber 200))
+
+c256_b_201 :: Chunk
+c256_b_201 = bc256 (Just (T.ColorNumber 201))
+
+c256_b_202 :: Chunk
+c256_b_202 = bc256 (Just (T.ColorNumber 202))
+
+c256_b_203 :: Chunk
+c256_b_203 = bc256 (Just (T.ColorNumber 203))
+
+c256_b_204 :: Chunk
+c256_b_204 = bc256 (Just (T.ColorNumber 204))
+
+c256_b_205 :: Chunk
+c256_b_205 = bc256 (Just (T.ColorNumber 205))
+
+c256_b_206 :: Chunk
+c256_b_206 = bc256 (Just (T.ColorNumber 206))
+
+c256_b_207 :: Chunk
+c256_b_207 = bc256 (Just (T.ColorNumber 207))
+
+c256_b_208 :: Chunk
+c256_b_208 = bc256 (Just (T.ColorNumber 208))
+
+c256_b_209 :: Chunk
+c256_b_209 = bc256 (Just (T.ColorNumber 209))
+
+c256_b_210 :: Chunk
+c256_b_210 = bc256 (Just (T.ColorNumber 210))
+
+c256_b_211 :: Chunk
+c256_b_211 = bc256 (Just (T.ColorNumber 211))
+
+c256_b_212 :: Chunk
+c256_b_212 = bc256 (Just (T.ColorNumber 212))
+
+c256_b_213 :: Chunk
+c256_b_213 = bc256 (Just (T.ColorNumber 213))
+
+c256_b_214 :: Chunk
+c256_b_214 = bc256 (Just (T.ColorNumber 214))
+
+c256_b_215 :: Chunk
+c256_b_215 = bc256 (Just (T.ColorNumber 215))
+
+c256_b_216 :: Chunk
+c256_b_216 = bc256 (Just (T.ColorNumber 216))
+
+c256_b_217 :: Chunk
+c256_b_217 = bc256 (Just (T.ColorNumber 217))
+
+c256_b_218 :: Chunk
+c256_b_218 = bc256 (Just (T.ColorNumber 218))
+
+c256_b_219 :: Chunk
+c256_b_219 = bc256 (Just (T.ColorNumber 219))
+
+c256_b_220 :: Chunk
+c256_b_220 = bc256 (Just (T.ColorNumber 220))
+
+c256_b_221 :: Chunk
+c256_b_221 = bc256 (Just (T.ColorNumber 221))
+
+c256_b_222 :: Chunk
+c256_b_222 = bc256 (Just (T.ColorNumber 222))
+
+c256_b_223 :: Chunk
+c256_b_223 = bc256 (Just (T.ColorNumber 223))
+
+c256_b_224 :: Chunk
+c256_b_224 = bc256 (Just (T.ColorNumber 224))
+
+c256_b_225 :: Chunk
+c256_b_225 = bc256 (Just (T.ColorNumber 225))
+
+c256_b_226 :: Chunk
+c256_b_226 = bc256 (Just (T.ColorNumber 226))
+
+c256_b_227 :: Chunk
+c256_b_227 = bc256 (Just (T.ColorNumber 227))
+
+c256_b_228 :: Chunk
+c256_b_228 = bc256 (Just (T.ColorNumber 228))
+
+c256_b_229 :: Chunk
+c256_b_229 = bc256 (Just (T.ColorNumber 229))
+
+c256_b_230 :: Chunk
+c256_b_230 = bc256 (Just (T.ColorNumber 230))
+
+c256_b_231 :: Chunk
+c256_b_231 = bc256 (Just (T.ColorNumber 231))
+
+c256_b_232 :: Chunk
+c256_b_232 = bc256 (Just (T.ColorNumber 232))
+
+c256_b_233 :: Chunk
+c256_b_233 = bc256 (Just (T.ColorNumber 233))
+
+c256_b_234 :: Chunk
+c256_b_234 = bc256 (Just (T.ColorNumber 234))
+
+c256_b_235 :: Chunk
+c256_b_235 = bc256 (Just (T.ColorNumber 235))
+
+c256_b_236 :: Chunk
+c256_b_236 = bc256 (Just (T.ColorNumber 236))
+
+c256_b_237 :: Chunk
+c256_b_237 = bc256 (Just (T.ColorNumber 237))
+
+c256_b_238 :: Chunk
+c256_b_238 = bc256 (Just (T.ColorNumber 238))
+
+c256_b_239 :: Chunk
+c256_b_239 = bc256 (Just (T.ColorNumber 239))
+
+c256_b_240 :: Chunk
+c256_b_240 = bc256 (Just (T.ColorNumber 240))
+
+c256_b_241 :: Chunk
+c256_b_241 = bc256 (Just (T.ColorNumber 241))
+
+c256_b_242 :: Chunk
+c256_b_242 = bc256 (Just (T.ColorNumber 242))
+
+c256_b_243 :: Chunk
+c256_b_243 = bc256 (Just (T.ColorNumber 243))
+
+c256_b_244 :: Chunk
+c256_b_244 = bc256 (Just (T.ColorNumber 244))
+
+c256_b_245 :: Chunk
+c256_b_245 = bc256 (Just (T.ColorNumber 245))
+
+c256_b_246 :: Chunk
+c256_b_246 = bc256 (Just (T.ColorNumber 246))
+
+c256_b_247 :: Chunk
+c256_b_247 = bc256 (Just (T.ColorNumber 247))
+
+c256_b_248 :: Chunk
+c256_b_248 = bc256 (Just (T.ColorNumber 248))
+
+c256_b_249 :: Chunk
+c256_b_249 = bc256 (Just (T.ColorNumber 249))
+
+c256_b_250 :: Chunk
+c256_b_250 = bc256 (Just (T.ColorNumber 250))
+
+c256_b_251 :: Chunk
+c256_b_251 = bc256 (Just (T.ColorNumber 251))
+
+c256_b_252 :: Chunk
+c256_b_252 = bc256 (Just (T.ColorNumber 252))
+
+c256_b_253 :: Chunk
+c256_b_253 = bc256 (Just (T.ColorNumber 253))
+
+c256_b_254 :: Chunk
+c256_b_254 = bc256 (Just (T.ColorNumber 254))
+
+c256_b_255 :: Chunk
+c256_b_255 = bc256 (Just (T.ColorNumber 255))
+
+-- * Utility functions
+
+-- | Make a terminfo Color into a 8-color foreground Chunk.
+fc8 :: Maybe T.Color -> Chunk
+fc8 c = x { textSpec = (textSpec x) {
+  style8 = (style8 (textSpec x)) {
+    foreground8 = Last (Just c) }}}
+  where
+    x = mempty
+
+-- | Make a terminfo Color into a 8-color background Chunk.
+bc8 :: Maybe T.Color -> Chunk
+bc8 c = x { textSpec = (textSpec x) {
+  style8 = (style8 (textSpec x)) {
+    background8 = Last (Just c) }}}
+  where
+    x = mempty
+
+-- | Make a terminfo Color into a 256-color foreground Chunk.
+fc256 :: Maybe T.Color -> Chunk
+fc256 c = x { textSpec = (textSpec x) {
+  style256 = (style256 (textSpec x)) {
+    foreground256 = Last (Just c) }}}
+  where
+    x = mempty
+
+-- | Make a terminfo Color into a 256-color background Chunk.
+bc256 :: Maybe T.Color -> Chunk
+bc256 c = x { textSpec = (textSpec x) {
+  style256 = (style256 (textSpec x)) {
+    background256 = Last (Just c) }}}
+  where
+    x = mempty
+
diff --git a/System/Console/Rainbow/Colors.hs b/System/Console/Rainbow/Colors.hs
new file mode 100644
--- /dev/null
+++ b/System/Console/Rainbow/Colors.hs
@@ -0,0 +1,1713 @@
+-- | Ordinarily you should not need this module.  Typically you will
+-- just need to use "System.Console.Rainbow.ColorChunks", which is
+-- re-exported from "System.Console.Rainbow".  However this module
+-- can be useful if you want names for individual colors, as opposed
+-- to names for chunks, which is what
+-- "System.Console.Rainbow.ColorChunks" provides.
+module System.Console.Rainbow.Colors where
+
+import qualified System.Console.Terminfo as T
+
+-- # 8 color foreground
+
+c8_f_default :: Maybe T.Color
+c8_f_default = Nothing
+
+c8_f_black :: Maybe T.Color
+c8_f_black = (Just T.Black)
+
+c8_f_red :: Maybe T.Color
+c8_f_red = (Just T.Red)
+
+c8_f_green :: Maybe T.Color
+c8_f_green = (Just T.Green)
+
+c8_f_yellow :: Maybe T.Color
+c8_f_yellow = (Just T.Yellow)
+
+c8_f_blue :: Maybe T.Color
+c8_f_blue = (Just T.Blue)
+
+c8_f_magenta :: Maybe T.Color
+c8_f_magenta = (Just T.Magenta)
+
+c8_f_cyan :: Maybe T.Color
+c8_f_cyan = (Just T.Cyan)
+
+c8_f_white :: Maybe T.Color
+c8_f_white = (Just T.White)
+
+
+-- # 8 color background
+
+c8_b_default :: Maybe T.Color
+c8_b_default = Nothing
+
+c8_b_black :: Maybe T.Color
+c8_b_black = (Just T.Black)
+
+c8_b_red :: Maybe T.Color
+c8_b_red = (Just T.Red)
+
+c8_b_green :: Maybe T.Color
+c8_b_green = (Just T.Green)
+
+c8_b_yellow :: Maybe T.Color
+c8_b_yellow = (Just T.Yellow)
+
+c8_b_blue :: Maybe T.Color
+c8_b_blue = (Just T.Blue)
+
+c8_b_magenta :: Maybe T.Color
+c8_b_magenta = (Just T.Magenta)
+
+c8_b_cyan :: Maybe T.Color
+c8_b_cyan = (Just T.Cyan)
+
+c8_b_white :: Maybe T.Color
+c8_b_white = (Just T.White)
+
+-- # 256 color foreground
+
+c256_f_default :: Maybe T.Color
+c256_f_default = Nothing
+
+
+c256_f_0 :: Maybe T.Color
+c256_f_0 = (Just (T.ColorNumber 0))
+
+c256_f_black :: Maybe T.Color
+c256_f_black = (Just (T.ColorNumber 0))
+
+c256_f_1 :: Maybe T.Color
+c256_f_1 = (Just (T.ColorNumber 1))
+
+c256_f_red :: Maybe T.Color
+c256_f_red = (Just (T.ColorNumber 1))
+
+c256_f_2 :: Maybe T.Color
+c256_f_2 = (Just (T.ColorNumber 2))
+
+c256_f_green :: Maybe T.Color
+c256_f_green = (Just (T.ColorNumber 2))
+
+c256_f_3 :: Maybe T.Color
+c256_f_3 = (Just (T.ColorNumber 3))
+
+c256_f_yellow :: Maybe T.Color
+c256_f_yellow = (Just (T.ColorNumber 3))
+
+c256_f_4 :: Maybe T.Color
+c256_f_4 = (Just (T.ColorNumber 4))
+
+c256_f_blue :: Maybe T.Color
+c256_f_blue = (Just (T.ColorNumber 4))
+
+c256_f_5 :: Maybe T.Color
+c256_f_5 = (Just (T.ColorNumber 5))
+
+c256_f_magenta :: Maybe T.Color
+c256_f_magenta = (Just (T.ColorNumber 5))
+
+c256_f_6 :: Maybe T.Color
+c256_f_6 = (Just (T.ColorNumber 6))
+
+c256_f_cyan :: Maybe T.Color
+c256_f_cyan = (Just (T.ColorNumber 6))
+
+c256_f_7 :: Maybe T.Color
+c256_f_7 = (Just (T.ColorNumber 7))
+
+c256_f_white :: Maybe T.Color
+c256_f_white = (Just (T.ColorNumber 7))
+
+c256_f_8 :: Maybe T.Color
+c256_f_8 = (Just (T.ColorNumber 8))
+
+c256_f_grey :: Maybe T.Color
+c256_f_grey = (Just (T.ColorNumber 8))
+
+c256_f_9 :: Maybe T.Color
+c256_f_9 = (Just (T.ColorNumber 9))
+
+c256_f_red_bright :: Maybe T.Color
+c256_f_red_bright = (Just (T.ColorNumber 9))
+
+c256_f_10 :: Maybe T.Color
+c256_f_10 = (Just (T.ColorNumber 10))
+
+c256_f_green_bright :: Maybe T.Color
+c256_f_green_bright = (Just (T.ColorNumber 10))
+
+c256_f_11 :: Maybe T.Color
+c256_f_11 = (Just (T.ColorNumber 11))
+
+c256_f_yellow_bright :: Maybe T.Color
+c256_f_yellow_bright = (Just (T.ColorNumber 11))
+
+c256_f_12 :: Maybe T.Color
+c256_f_12 = (Just (T.ColorNumber 12))
+
+c256_f_blue_bright :: Maybe T.Color
+c256_f_blue_bright = (Just (T.ColorNumber 12))
+
+c256_f_13 :: Maybe T.Color
+c256_f_13 = (Just (T.ColorNumber 13))
+
+c256_f_magenta_bright :: Maybe T.Color
+c256_f_magenta_bright = (Just (T.ColorNumber 13))
+
+c256_f_14 :: Maybe T.Color
+c256_f_14 = (Just (T.ColorNumber 14))
+
+c256_f_cyan_bright :: Maybe T.Color
+c256_f_cyan_bright = (Just (T.ColorNumber 14))
+
+c256_f_15 :: Maybe T.Color
+c256_f_15 = (Just (T.ColorNumber 15))
+
+c256_f_white_bright :: Maybe T.Color
+c256_f_white_bright = (Just (T.ColorNumber 15))
+
+c256_f_16 :: Maybe T.Color
+c256_f_16 = (Just (T.ColorNumber 16))
+
+c256_f_17 :: Maybe T.Color
+c256_f_17 = (Just (T.ColorNumber 17))
+
+c256_f_18 :: Maybe T.Color
+c256_f_18 = (Just (T.ColorNumber 18))
+
+c256_f_19 :: Maybe T.Color
+c256_f_19 = (Just (T.ColorNumber 19))
+
+c256_f_20 :: Maybe T.Color
+c256_f_20 = (Just (T.ColorNumber 20))
+
+c256_f_21 :: Maybe T.Color
+c256_f_21 = (Just (T.ColorNumber 21))
+
+c256_f_22 :: Maybe T.Color
+c256_f_22 = (Just (T.ColorNumber 22))
+
+c256_f_23 :: Maybe T.Color
+c256_f_23 = (Just (T.ColorNumber 23))
+
+c256_f_24 :: Maybe T.Color
+c256_f_24 = (Just (T.ColorNumber 24))
+
+c256_f_25 :: Maybe T.Color
+c256_f_25 = (Just (T.ColorNumber 25))
+
+c256_f_26 :: Maybe T.Color
+c256_f_26 = (Just (T.ColorNumber 26))
+
+c256_f_27 :: Maybe T.Color
+c256_f_27 = (Just (T.ColorNumber 27))
+
+c256_f_28 :: Maybe T.Color
+c256_f_28 = (Just (T.ColorNumber 28))
+
+c256_f_29 :: Maybe T.Color
+c256_f_29 = (Just (T.ColorNumber 29))
+
+c256_f_30 :: Maybe T.Color
+c256_f_30 = (Just (T.ColorNumber 30))
+
+c256_f_31 :: Maybe T.Color
+c256_f_31 = (Just (T.ColorNumber 31))
+
+c256_f_32 :: Maybe T.Color
+c256_f_32 = (Just (T.ColorNumber 32))
+
+c256_f_33 :: Maybe T.Color
+c256_f_33 = (Just (T.ColorNumber 33))
+
+c256_f_34 :: Maybe T.Color
+c256_f_34 = (Just (T.ColorNumber 34))
+
+c256_f_35 :: Maybe T.Color
+c256_f_35 = (Just (T.ColorNumber 35))
+
+c256_f_36 :: Maybe T.Color
+c256_f_36 = (Just (T.ColorNumber 36))
+
+c256_f_37 :: Maybe T.Color
+c256_f_37 = (Just (T.ColorNumber 37))
+
+c256_f_38 :: Maybe T.Color
+c256_f_38 = (Just (T.ColorNumber 38))
+
+c256_f_39 :: Maybe T.Color
+c256_f_39 = (Just (T.ColorNumber 39))
+
+c256_f_40 :: Maybe T.Color
+c256_f_40 = (Just (T.ColorNumber 40))
+
+c256_f_41 :: Maybe T.Color
+c256_f_41 = (Just (T.ColorNumber 41))
+
+c256_f_42 :: Maybe T.Color
+c256_f_42 = (Just (T.ColorNumber 42))
+
+c256_f_43 :: Maybe T.Color
+c256_f_43 = (Just (T.ColorNumber 43))
+
+c256_f_44 :: Maybe T.Color
+c256_f_44 = (Just (T.ColorNumber 44))
+
+c256_f_45 :: Maybe T.Color
+c256_f_45 = (Just (T.ColorNumber 45))
+
+c256_f_46 :: Maybe T.Color
+c256_f_46 = (Just (T.ColorNumber 46))
+
+c256_f_47 :: Maybe T.Color
+c256_f_47 = (Just (T.ColorNumber 47))
+
+c256_f_48 :: Maybe T.Color
+c256_f_48 = (Just (T.ColorNumber 48))
+
+c256_f_49 :: Maybe T.Color
+c256_f_49 = (Just (T.ColorNumber 49))
+
+c256_f_50 :: Maybe T.Color
+c256_f_50 = (Just (T.ColorNumber 50))
+
+c256_f_51 :: Maybe T.Color
+c256_f_51 = (Just (T.ColorNumber 51))
+
+c256_f_52 :: Maybe T.Color
+c256_f_52 = (Just (T.ColorNumber 52))
+
+c256_f_53 :: Maybe T.Color
+c256_f_53 = (Just (T.ColorNumber 53))
+
+c256_f_54 :: Maybe T.Color
+c256_f_54 = (Just (T.ColorNumber 54))
+
+c256_f_55 :: Maybe T.Color
+c256_f_55 = (Just (T.ColorNumber 55))
+
+c256_f_56 :: Maybe T.Color
+c256_f_56 = (Just (T.ColorNumber 56))
+
+c256_f_57 :: Maybe T.Color
+c256_f_57 = (Just (T.ColorNumber 57))
+
+c256_f_58 :: Maybe T.Color
+c256_f_58 = (Just (T.ColorNumber 58))
+
+c256_f_59 :: Maybe T.Color
+c256_f_59 = (Just (T.ColorNumber 59))
+
+c256_f_60 :: Maybe T.Color
+c256_f_60 = (Just (T.ColorNumber 60))
+
+c256_f_61 :: Maybe T.Color
+c256_f_61 = (Just (T.ColorNumber 61))
+
+c256_f_62 :: Maybe T.Color
+c256_f_62 = (Just (T.ColorNumber 62))
+
+c256_f_63 :: Maybe T.Color
+c256_f_63 = (Just (T.ColorNumber 63))
+
+c256_f_64 :: Maybe T.Color
+c256_f_64 = (Just (T.ColorNumber 64))
+
+c256_f_65 :: Maybe T.Color
+c256_f_65 = (Just (T.ColorNumber 65))
+
+c256_f_66 :: Maybe T.Color
+c256_f_66 = (Just (T.ColorNumber 66))
+
+c256_f_67 :: Maybe T.Color
+c256_f_67 = (Just (T.ColorNumber 67))
+
+c256_f_68 :: Maybe T.Color
+c256_f_68 = (Just (T.ColorNumber 68))
+
+c256_f_69 :: Maybe T.Color
+c256_f_69 = (Just (T.ColorNumber 69))
+
+c256_f_70 :: Maybe T.Color
+c256_f_70 = (Just (T.ColorNumber 70))
+
+c256_f_71 :: Maybe T.Color
+c256_f_71 = (Just (T.ColorNumber 71))
+
+c256_f_72 :: Maybe T.Color
+c256_f_72 = (Just (T.ColorNumber 72))
+
+c256_f_73 :: Maybe T.Color
+c256_f_73 = (Just (T.ColorNumber 73))
+
+c256_f_74 :: Maybe T.Color
+c256_f_74 = (Just (T.ColorNumber 74))
+
+c256_f_75 :: Maybe T.Color
+c256_f_75 = (Just (T.ColorNumber 75))
+
+c256_f_76 :: Maybe T.Color
+c256_f_76 = (Just (T.ColorNumber 76))
+
+c256_f_77 :: Maybe T.Color
+c256_f_77 = (Just (T.ColorNumber 77))
+
+c256_f_78 :: Maybe T.Color
+c256_f_78 = (Just (T.ColorNumber 78))
+
+c256_f_79 :: Maybe T.Color
+c256_f_79 = (Just (T.ColorNumber 79))
+
+c256_f_80 :: Maybe T.Color
+c256_f_80 = (Just (T.ColorNumber 80))
+
+c256_f_81 :: Maybe T.Color
+c256_f_81 = (Just (T.ColorNumber 81))
+
+c256_f_82 :: Maybe T.Color
+c256_f_82 = (Just (T.ColorNumber 82))
+
+c256_f_83 :: Maybe T.Color
+c256_f_83 = (Just (T.ColorNumber 83))
+
+c256_f_84 :: Maybe T.Color
+c256_f_84 = (Just (T.ColorNumber 84))
+
+c256_f_85 :: Maybe T.Color
+c256_f_85 = (Just (T.ColorNumber 85))
+
+c256_f_86 :: Maybe T.Color
+c256_f_86 = (Just (T.ColorNumber 86))
+
+c256_f_87 :: Maybe T.Color
+c256_f_87 = (Just (T.ColorNumber 87))
+
+c256_f_88 :: Maybe T.Color
+c256_f_88 = (Just (T.ColorNumber 88))
+
+c256_f_89 :: Maybe T.Color
+c256_f_89 = (Just (T.ColorNumber 89))
+
+c256_f_90 :: Maybe T.Color
+c256_f_90 = (Just (T.ColorNumber 90))
+
+c256_f_91 :: Maybe T.Color
+c256_f_91 = (Just (T.ColorNumber 91))
+
+c256_f_92 :: Maybe T.Color
+c256_f_92 = (Just (T.ColorNumber 92))
+
+c256_f_93 :: Maybe T.Color
+c256_f_93 = (Just (T.ColorNumber 93))
+
+c256_f_94 :: Maybe T.Color
+c256_f_94 = (Just (T.ColorNumber 94))
+
+c256_f_95 :: Maybe T.Color
+c256_f_95 = (Just (T.ColorNumber 95))
+
+c256_f_96 :: Maybe T.Color
+c256_f_96 = (Just (T.ColorNumber 96))
+
+c256_f_97 :: Maybe T.Color
+c256_f_97 = (Just (T.ColorNumber 97))
+
+c256_f_98 :: Maybe T.Color
+c256_f_98 = (Just (T.ColorNumber 98))
+
+c256_f_99 :: Maybe T.Color
+c256_f_99 = (Just (T.ColorNumber 99))
+
+c256_f_100 :: Maybe T.Color
+c256_f_100 = (Just (T.ColorNumber 100))
+
+c256_f_101 :: Maybe T.Color
+c256_f_101 = (Just (T.ColorNumber 101))
+
+c256_f_102 :: Maybe T.Color
+c256_f_102 = (Just (T.ColorNumber 102))
+
+c256_f_103 :: Maybe T.Color
+c256_f_103 = (Just (T.ColorNumber 103))
+
+c256_f_104 :: Maybe T.Color
+c256_f_104 = (Just (T.ColorNumber 104))
+
+c256_f_105 :: Maybe T.Color
+c256_f_105 = (Just (T.ColorNumber 105))
+
+c256_f_106 :: Maybe T.Color
+c256_f_106 = (Just (T.ColorNumber 106))
+
+c256_f_107 :: Maybe T.Color
+c256_f_107 = (Just (T.ColorNumber 107))
+
+c256_f_108 :: Maybe T.Color
+c256_f_108 = (Just (T.ColorNumber 108))
+
+c256_f_109 :: Maybe T.Color
+c256_f_109 = (Just (T.ColorNumber 109))
+
+c256_f_110 :: Maybe T.Color
+c256_f_110 = (Just (T.ColorNumber 110))
+
+c256_f_111 :: Maybe T.Color
+c256_f_111 = (Just (T.ColorNumber 111))
+
+c256_f_112 :: Maybe T.Color
+c256_f_112 = (Just (T.ColorNumber 112))
+
+c256_f_113 :: Maybe T.Color
+c256_f_113 = (Just (T.ColorNumber 113))
+
+c256_f_114 :: Maybe T.Color
+c256_f_114 = (Just (T.ColorNumber 114))
+
+c256_f_115 :: Maybe T.Color
+c256_f_115 = (Just (T.ColorNumber 115))
+
+c256_f_116 :: Maybe T.Color
+c256_f_116 = (Just (T.ColorNumber 116))
+
+c256_f_117 :: Maybe T.Color
+c256_f_117 = (Just (T.ColorNumber 117))
+
+c256_f_118 :: Maybe T.Color
+c256_f_118 = (Just (T.ColorNumber 118))
+
+c256_f_119 :: Maybe T.Color
+c256_f_119 = (Just (T.ColorNumber 119))
+
+c256_f_120 :: Maybe T.Color
+c256_f_120 = (Just (T.ColorNumber 120))
+
+c256_f_121 :: Maybe T.Color
+c256_f_121 = (Just (T.ColorNumber 121))
+
+c256_f_122 :: Maybe T.Color
+c256_f_122 = (Just (T.ColorNumber 122))
+
+c256_f_123 :: Maybe T.Color
+c256_f_123 = (Just (T.ColorNumber 123))
+
+c256_f_124 :: Maybe T.Color
+c256_f_124 = (Just (T.ColorNumber 124))
+
+c256_f_125 :: Maybe T.Color
+c256_f_125 = (Just (T.ColorNumber 125))
+
+c256_f_126 :: Maybe T.Color
+c256_f_126 = (Just (T.ColorNumber 126))
+
+c256_f_127 :: Maybe T.Color
+c256_f_127 = (Just (T.ColorNumber 127))
+
+c256_f_128 :: Maybe T.Color
+c256_f_128 = (Just (T.ColorNumber 128))
+
+c256_f_129 :: Maybe T.Color
+c256_f_129 = (Just (T.ColorNumber 129))
+
+c256_f_130 :: Maybe T.Color
+c256_f_130 = (Just (T.ColorNumber 130))
+
+c256_f_131 :: Maybe T.Color
+c256_f_131 = (Just (T.ColorNumber 131))
+
+c256_f_132 :: Maybe T.Color
+c256_f_132 = (Just (T.ColorNumber 132))
+
+c256_f_133 :: Maybe T.Color
+c256_f_133 = (Just (T.ColorNumber 133))
+
+c256_f_134 :: Maybe T.Color
+c256_f_134 = (Just (T.ColorNumber 134))
+
+c256_f_135 :: Maybe T.Color
+c256_f_135 = (Just (T.ColorNumber 135))
+
+c256_f_136 :: Maybe T.Color
+c256_f_136 = (Just (T.ColorNumber 136))
+
+c256_f_137 :: Maybe T.Color
+c256_f_137 = (Just (T.ColorNumber 137))
+
+c256_f_138 :: Maybe T.Color
+c256_f_138 = (Just (T.ColorNumber 138))
+
+c256_f_139 :: Maybe T.Color
+c256_f_139 = (Just (T.ColorNumber 139))
+
+c256_f_140 :: Maybe T.Color
+c256_f_140 = (Just (T.ColorNumber 140))
+
+c256_f_141 :: Maybe T.Color
+c256_f_141 = (Just (T.ColorNumber 141))
+
+c256_f_142 :: Maybe T.Color
+c256_f_142 = (Just (T.ColorNumber 142))
+
+c256_f_143 :: Maybe T.Color
+c256_f_143 = (Just (T.ColorNumber 143))
+
+c256_f_144 :: Maybe T.Color
+c256_f_144 = (Just (T.ColorNumber 144))
+
+c256_f_145 :: Maybe T.Color
+c256_f_145 = (Just (T.ColorNumber 145))
+
+c256_f_146 :: Maybe T.Color
+c256_f_146 = (Just (T.ColorNumber 146))
+
+c256_f_147 :: Maybe T.Color
+c256_f_147 = (Just (T.ColorNumber 147))
+
+c256_f_148 :: Maybe T.Color
+c256_f_148 = (Just (T.ColorNumber 148))
+
+c256_f_149 :: Maybe T.Color
+c256_f_149 = (Just (T.ColorNumber 149))
+
+c256_f_150 :: Maybe T.Color
+c256_f_150 = (Just (T.ColorNumber 150))
+
+c256_f_151 :: Maybe T.Color
+c256_f_151 = (Just (T.ColorNumber 151))
+
+c256_f_152 :: Maybe T.Color
+c256_f_152 = (Just (T.ColorNumber 152))
+
+c256_f_153 :: Maybe T.Color
+c256_f_153 = (Just (T.ColorNumber 153))
+
+c256_f_154 :: Maybe T.Color
+c256_f_154 = (Just (T.ColorNumber 154))
+
+c256_f_155 :: Maybe T.Color
+c256_f_155 = (Just (T.ColorNumber 155))
+
+c256_f_156 :: Maybe T.Color
+c256_f_156 = (Just (T.ColorNumber 156))
+
+c256_f_157 :: Maybe T.Color
+c256_f_157 = (Just (T.ColorNumber 157))
+
+c256_f_158 :: Maybe T.Color
+c256_f_158 = (Just (T.ColorNumber 158))
+
+c256_f_159 :: Maybe T.Color
+c256_f_159 = (Just (T.ColorNumber 159))
+
+c256_f_160 :: Maybe T.Color
+c256_f_160 = (Just (T.ColorNumber 160))
+
+c256_f_161 :: Maybe T.Color
+c256_f_161 = (Just (T.ColorNumber 161))
+
+c256_f_162 :: Maybe T.Color
+c256_f_162 = (Just (T.ColorNumber 162))
+
+c256_f_163 :: Maybe T.Color
+c256_f_163 = (Just (T.ColorNumber 163))
+
+c256_f_164 :: Maybe T.Color
+c256_f_164 = (Just (T.ColorNumber 164))
+
+c256_f_165 :: Maybe T.Color
+c256_f_165 = (Just (T.ColorNumber 165))
+
+c256_f_166 :: Maybe T.Color
+c256_f_166 = (Just (T.ColorNumber 166))
+
+c256_f_167 :: Maybe T.Color
+c256_f_167 = (Just (T.ColorNumber 167))
+
+c256_f_168 :: Maybe T.Color
+c256_f_168 = (Just (T.ColorNumber 168))
+
+c256_f_169 :: Maybe T.Color
+c256_f_169 = (Just (T.ColorNumber 169))
+
+c256_f_170 :: Maybe T.Color
+c256_f_170 = (Just (T.ColorNumber 170))
+
+c256_f_171 :: Maybe T.Color
+c256_f_171 = (Just (T.ColorNumber 171))
+
+c256_f_172 :: Maybe T.Color
+c256_f_172 = (Just (T.ColorNumber 172))
+
+c256_f_173 :: Maybe T.Color
+c256_f_173 = (Just (T.ColorNumber 173))
+
+c256_f_174 :: Maybe T.Color
+c256_f_174 = (Just (T.ColorNumber 174))
+
+c256_f_175 :: Maybe T.Color
+c256_f_175 = (Just (T.ColorNumber 175))
+
+c256_f_176 :: Maybe T.Color
+c256_f_176 = (Just (T.ColorNumber 176))
+
+c256_f_177 :: Maybe T.Color
+c256_f_177 = (Just (T.ColorNumber 177))
+
+c256_f_178 :: Maybe T.Color
+c256_f_178 = (Just (T.ColorNumber 178))
+
+c256_f_179 :: Maybe T.Color
+c256_f_179 = (Just (T.ColorNumber 179))
+
+c256_f_180 :: Maybe T.Color
+c256_f_180 = (Just (T.ColorNumber 180))
+
+c256_f_181 :: Maybe T.Color
+c256_f_181 = (Just (T.ColorNumber 181))
+
+c256_f_182 :: Maybe T.Color
+c256_f_182 = (Just (T.ColorNumber 182))
+
+c256_f_183 :: Maybe T.Color
+c256_f_183 = (Just (T.ColorNumber 183))
+
+c256_f_184 :: Maybe T.Color
+c256_f_184 = (Just (T.ColorNumber 184))
+
+c256_f_185 :: Maybe T.Color
+c256_f_185 = (Just (T.ColorNumber 185))
+
+c256_f_186 :: Maybe T.Color
+c256_f_186 = (Just (T.ColorNumber 186))
+
+c256_f_187 :: Maybe T.Color
+c256_f_187 = (Just (T.ColorNumber 187))
+
+c256_f_188 :: Maybe T.Color
+c256_f_188 = (Just (T.ColorNumber 188))
+
+c256_f_189 :: Maybe T.Color
+c256_f_189 = (Just (T.ColorNumber 189))
+
+c256_f_190 :: Maybe T.Color
+c256_f_190 = (Just (T.ColorNumber 190))
+
+c256_f_191 :: Maybe T.Color
+c256_f_191 = (Just (T.ColorNumber 191))
+
+c256_f_192 :: Maybe T.Color
+c256_f_192 = (Just (T.ColorNumber 192))
+
+c256_f_193 :: Maybe T.Color
+c256_f_193 = (Just (T.ColorNumber 193))
+
+c256_f_194 :: Maybe T.Color
+c256_f_194 = (Just (T.ColorNumber 194))
+
+c256_f_195 :: Maybe T.Color
+c256_f_195 = (Just (T.ColorNumber 195))
+
+c256_f_196 :: Maybe T.Color
+c256_f_196 = (Just (T.ColorNumber 196))
+
+c256_f_197 :: Maybe T.Color
+c256_f_197 = (Just (T.ColorNumber 197))
+
+c256_f_198 :: Maybe T.Color
+c256_f_198 = (Just (T.ColorNumber 198))
+
+c256_f_199 :: Maybe T.Color
+c256_f_199 = (Just (T.ColorNumber 199))
+
+c256_f_200 :: Maybe T.Color
+c256_f_200 = (Just (T.ColorNumber 200))
+
+c256_f_201 :: Maybe T.Color
+c256_f_201 = (Just (T.ColorNumber 201))
+
+c256_f_202 :: Maybe T.Color
+c256_f_202 = (Just (T.ColorNumber 202))
+
+c256_f_203 :: Maybe T.Color
+c256_f_203 = (Just (T.ColorNumber 203))
+
+c256_f_204 :: Maybe T.Color
+c256_f_204 = (Just (T.ColorNumber 204))
+
+c256_f_205 :: Maybe T.Color
+c256_f_205 = (Just (T.ColorNumber 205))
+
+c256_f_206 :: Maybe T.Color
+c256_f_206 = (Just (T.ColorNumber 206))
+
+c256_f_207 :: Maybe T.Color
+c256_f_207 = (Just (T.ColorNumber 207))
+
+c256_f_208 :: Maybe T.Color
+c256_f_208 = (Just (T.ColorNumber 208))
+
+c256_f_209 :: Maybe T.Color
+c256_f_209 = (Just (T.ColorNumber 209))
+
+c256_f_210 :: Maybe T.Color
+c256_f_210 = (Just (T.ColorNumber 210))
+
+c256_f_211 :: Maybe T.Color
+c256_f_211 = (Just (T.ColorNumber 211))
+
+c256_f_212 :: Maybe T.Color
+c256_f_212 = (Just (T.ColorNumber 212))
+
+c256_f_213 :: Maybe T.Color
+c256_f_213 = (Just (T.ColorNumber 213))
+
+c256_f_214 :: Maybe T.Color
+c256_f_214 = (Just (T.ColorNumber 214))
+
+c256_f_215 :: Maybe T.Color
+c256_f_215 = (Just (T.ColorNumber 215))
+
+c256_f_216 :: Maybe T.Color
+c256_f_216 = (Just (T.ColorNumber 216))
+
+c256_f_217 :: Maybe T.Color
+c256_f_217 = (Just (T.ColorNumber 217))
+
+c256_f_218 :: Maybe T.Color
+c256_f_218 = (Just (T.ColorNumber 218))
+
+c256_f_219 :: Maybe T.Color
+c256_f_219 = (Just (T.ColorNumber 219))
+
+c256_f_220 :: Maybe T.Color
+c256_f_220 = (Just (T.ColorNumber 220))
+
+c256_f_221 :: Maybe T.Color
+c256_f_221 = (Just (T.ColorNumber 221))
+
+c256_f_222 :: Maybe T.Color
+c256_f_222 = (Just (T.ColorNumber 222))
+
+c256_f_223 :: Maybe T.Color
+c256_f_223 = (Just (T.ColorNumber 223))
+
+c256_f_224 :: Maybe T.Color
+c256_f_224 = (Just (T.ColorNumber 224))
+
+c256_f_225 :: Maybe T.Color
+c256_f_225 = (Just (T.ColorNumber 225))
+
+c256_f_226 :: Maybe T.Color
+c256_f_226 = (Just (T.ColorNumber 226))
+
+c256_f_227 :: Maybe T.Color
+c256_f_227 = (Just (T.ColorNumber 227))
+
+c256_f_228 :: Maybe T.Color
+c256_f_228 = (Just (T.ColorNumber 228))
+
+c256_f_229 :: Maybe T.Color
+c256_f_229 = (Just (T.ColorNumber 229))
+
+c256_f_230 :: Maybe T.Color
+c256_f_230 = (Just (T.ColorNumber 230))
+
+c256_f_231 :: Maybe T.Color
+c256_f_231 = (Just (T.ColorNumber 231))
+
+c256_f_232 :: Maybe T.Color
+c256_f_232 = (Just (T.ColorNumber 232))
+
+c256_f_233 :: Maybe T.Color
+c256_f_233 = (Just (T.ColorNumber 233))
+
+c256_f_234 :: Maybe T.Color
+c256_f_234 = (Just (T.ColorNumber 234))
+
+c256_f_235 :: Maybe T.Color
+c256_f_235 = (Just (T.ColorNumber 235))
+
+c256_f_236 :: Maybe T.Color
+c256_f_236 = (Just (T.ColorNumber 236))
+
+c256_f_237 :: Maybe T.Color
+c256_f_237 = (Just (T.ColorNumber 237))
+
+c256_f_238 :: Maybe T.Color
+c256_f_238 = (Just (T.ColorNumber 238))
+
+c256_f_239 :: Maybe T.Color
+c256_f_239 = (Just (T.ColorNumber 239))
+
+c256_f_240 :: Maybe T.Color
+c256_f_240 = (Just (T.ColorNumber 240))
+
+c256_f_241 :: Maybe T.Color
+c256_f_241 = (Just (T.ColorNumber 241))
+
+c256_f_242 :: Maybe T.Color
+c256_f_242 = (Just (T.ColorNumber 242))
+
+c256_f_243 :: Maybe T.Color
+c256_f_243 = (Just (T.ColorNumber 243))
+
+c256_f_244 :: Maybe T.Color
+c256_f_244 = (Just (T.ColorNumber 244))
+
+c256_f_245 :: Maybe T.Color
+c256_f_245 = (Just (T.ColorNumber 245))
+
+c256_f_246 :: Maybe T.Color
+c256_f_246 = (Just (T.ColorNumber 246))
+
+c256_f_247 :: Maybe T.Color
+c256_f_247 = (Just (T.ColorNumber 247))
+
+c256_f_248 :: Maybe T.Color
+c256_f_248 = (Just (T.ColorNumber 248))
+
+c256_f_249 :: Maybe T.Color
+c256_f_249 = (Just (T.ColorNumber 249))
+
+c256_f_250 :: Maybe T.Color
+c256_f_250 = (Just (T.ColorNumber 250))
+
+c256_f_251 :: Maybe T.Color
+c256_f_251 = (Just (T.ColorNumber 251))
+
+c256_f_252 :: Maybe T.Color
+c256_f_252 = (Just (T.ColorNumber 252))
+
+c256_f_253 :: Maybe T.Color
+c256_f_253 = (Just (T.ColorNumber 253))
+
+c256_f_254 :: Maybe T.Color
+c256_f_254 = (Just (T.ColorNumber 254))
+
+c256_f_255 :: Maybe T.Color
+c256_f_255 = (Just (T.ColorNumber 255))
+
+
+-- # 256 color background
+
+c256_b_default :: Maybe T.Color
+c256_b_default =  Nothing
+
+c256_b_0 :: Maybe T.Color
+c256_b_0 =  (Just (T.ColorNumber 0))
+
+c256_b_black :: Maybe T.Color
+c256_b_black =  (Just (T.ColorNumber 0))
+
+c256_b_1 :: Maybe T.Color
+c256_b_1 =  (Just (T.ColorNumber 1))
+
+c256_b_red :: Maybe T.Color
+c256_b_red =  (Just (T.ColorNumber 1))
+
+c256_b_2 :: Maybe T.Color
+c256_b_2 =  (Just (T.ColorNumber 2))
+
+c256_b_green :: Maybe T.Color
+c256_b_green =  (Just (T.ColorNumber 2))
+
+c256_b_3 :: Maybe T.Color
+c256_b_3 =  (Just (T.ColorNumber 3))
+
+c256_b_yellow :: Maybe T.Color
+c256_b_yellow =  (Just (T.ColorNumber 3))
+
+c256_b_4 :: Maybe T.Color
+c256_b_4 =  (Just (T.ColorNumber 4))
+
+c256_b_blue :: Maybe T.Color
+c256_b_blue =  (Just (T.ColorNumber 4))
+
+c256_b_5 :: Maybe T.Color
+c256_b_5 =  (Just (T.ColorNumber 5))
+
+c256_b_magenta :: Maybe T.Color
+c256_b_magenta =  (Just (T.ColorNumber 5))
+
+c256_b_6 :: Maybe T.Color
+c256_b_6 =  (Just (T.ColorNumber 6))
+
+c256_b_cyan :: Maybe T.Color
+c256_b_cyan =  (Just (T.ColorNumber 6))
+
+c256_b_7 :: Maybe T.Color
+c256_b_7 =  (Just (T.ColorNumber 7))
+
+c256_b_white :: Maybe T.Color
+c256_b_white =  (Just (T.ColorNumber 7))
+
+c256_b_8 :: Maybe T.Color
+c256_b_8 =  (Just (T.ColorNumber 8))
+
+c256_b_grey :: Maybe T.Color
+c256_b_grey =  (Just (T.ColorNumber 8))
+
+c256_b_9 :: Maybe T.Color
+c256_b_9 =  (Just (T.ColorNumber 9))
+
+c256_b_red_bright :: Maybe T.Color
+c256_b_red_bright =  (Just (T.ColorNumber 9))
+
+c256_b_10 :: Maybe T.Color
+c256_b_10 =  (Just (T.ColorNumber 10))
+
+c256_b_green_bright :: Maybe T.Color
+c256_b_green_bright =  (Just (T.ColorNumber 10))
+
+c256_b_11 :: Maybe T.Color
+c256_b_11 =  (Just (T.ColorNumber 11))
+
+c256_b_yellow_bright :: Maybe T.Color
+c256_b_yellow_bright =  (Just (T.ColorNumber 11))
+
+c256_b_12 :: Maybe T.Color
+c256_b_12 =  (Just (T.ColorNumber 12))
+
+c256_b_blue_bright :: Maybe T.Color
+c256_b_blue_bright =  (Just (T.ColorNumber 12))
+
+c256_b_13 :: Maybe T.Color
+c256_b_13 =  (Just (T.ColorNumber 13))
+
+c256_b_magenta_bright :: Maybe T.Color
+c256_b_magenta_bright =  (Just (T.ColorNumber 13))
+
+c256_b_14 :: Maybe T.Color
+c256_b_14 =  (Just (T.ColorNumber 14))
+
+c256_b_cyan_bright :: Maybe T.Color
+c256_b_cyan_bright =  (Just (T.ColorNumber 14))
+
+c256_b_15 :: Maybe T.Color
+c256_b_15 =  (Just (T.ColorNumber 15))
+
+c256_b_white_bright :: Maybe T.Color
+c256_b_white_bright =  (Just (T.ColorNumber 15))
+
+c256_b_16 :: Maybe T.Color
+c256_b_16 =  (Just (T.ColorNumber 16))
+
+c256_b_17 :: Maybe T.Color
+c256_b_17 =  (Just (T.ColorNumber 17))
+
+c256_b_18 :: Maybe T.Color
+c256_b_18 =  (Just (T.ColorNumber 18))
+
+c256_b_19 :: Maybe T.Color
+c256_b_19 =  (Just (T.ColorNumber 19))
+
+c256_b_20 :: Maybe T.Color
+c256_b_20 =  (Just (T.ColorNumber 20))
+
+c256_b_21 :: Maybe T.Color
+c256_b_21 =  (Just (T.ColorNumber 21))
+
+c256_b_22 :: Maybe T.Color
+c256_b_22 =  (Just (T.ColorNumber 22))
+
+c256_b_23 :: Maybe T.Color
+c256_b_23 =  (Just (T.ColorNumber 23))
+
+c256_b_24 :: Maybe T.Color
+c256_b_24 =  (Just (T.ColorNumber 24))
+
+c256_b_25 :: Maybe T.Color
+c256_b_25 =  (Just (T.ColorNumber 25))
+
+c256_b_26 :: Maybe T.Color
+c256_b_26 =  (Just (T.ColorNumber 26))
+
+c256_b_27 :: Maybe T.Color
+c256_b_27 =  (Just (T.ColorNumber 27))
+
+c256_b_28 :: Maybe T.Color
+c256_b_28 =  (Just (T.ColorNumber 28))
+
+c256_b_29 :: Maybe T.Color
+c256_b_29 =  (Just (T.ColorNumber 29))
+
+c256_b_30 :: Maybe T.Color
+c256_b_30 =  (Just (T.ColorNumber 30))
+
+c256_b_31 :: Maybe T.Color
+c256_b_31 =  (Just (T.ColorNumber 31))
+
+c256_b_32 :: Maybe T.Color
+c256_b_32 =  (Just (T.ColorNumber 32))
+
+c256_b_33 :: Maybe T.Color
+c256_b_33 =  (Just (T.ColorNumber 33))
+
+c256_b_34 :: Maybe T.Color
+c256_b_34 =  (Just (T.ColorNumber 34))
+
+c256_b_35 :: Maybe T.Color
+c256_b_35 =  (Just (T.ColorNumber 35))
+
+c256_b_36 :: Maybe T.Color
+c256_b_36 =  (Just (T.ColorNumber 36))
+
+c256_b_37 :: Maybe T.Color
+c256_b_37 =  (Just (T.ColorNumber 37))
+
+c256_b_38 :: Maybe T.Color
+c256_b_38 =  (Just (T.ColorNumber 38))
+
+c256_b_39 :: Maybe T.Color
+c256_b_39 =  (Just (T.ColorNumber 39))
+
+c256_b_40 :: Maybe T.Color
+c256_b_40 =  (Just (T.ColorNumber 40))
+
+c256_b_41 :: Maybe T.Color
+c256_b_41 =  (Just (T.ColorNumber 41))
+
+c256_b_42 :: Maybe T.Color
+c256_b_42 =  (Just (T.ColorNumber 42))
+
+c256_b_43 :: Maybe T.Color
+c256_b_43 =  (Just (T.ColorNumber 43))
+
+c256_b_44 :: Maybe T.Color
+c256_b_44 =  (Just (T.ColorNumber 44))
+
+c256_b_45 :: Maybe T.Color
+c256_b_45 =  (Just (T.ColorNumber 45))
+
+c256_b_46 :: Maybe T.Color
+c256_b_46 =  (Just (T.ColorNumber 46))
+
+c256_b_47 :: Maybe T.Color
+c256_b_47 =  (Just (T.ColorNumber 47))
+
+c256_b_48 :: Maybe T.Color
+c256_b_48 =  (Just (T.ColorNumber 48))
+
+c256_b_49 :: Maybe T.Color
+c256_b_49 =  (Just (T.ColorNumber 49))
+
+c256_b_50 :: Maybe T.Color
+c256_b_50 =  (Just (T.ColorNumber 50))
+
+c256_b_51 :: Maybe T.Color
+c256_b_51 =  (Just (T.ColorNumber 51))
+
+c256_b_52 :: Maybe T.Color
+c256_b_52 =  (Just (T.ColorNumber 52))
+
+c256_b_53 :: Maybe T.Color
+c256_b_53 =  (Just (T.ColorNumber 53))
+
+c256_b_54 :: Maybe T.Color
+c256_b_54 =  (Just (T.ColorNumber 54))
+
+c256_b_55 :: Maybe T.Color
+c256_b_55 =  (Just (T.ColorNumber 55))
+
+c256_b_56 :: Maybe T.Color
+c256_b_56 =  (Just (T.ColorNumber 56))
+
+c256_b_57 :: Maybe T.Color
+c256_b_57 =  (Just (T.ColorNumber 57))
+
+c256_b_58 :: Maybe T.Color
+c256_b_58 =  (Just (T.ColorNumber 58))
+
+c256_b_59 :: Maybe T.Color
+c256_b_59 =  (Just (T.ColorNumber 59))
+
+c256_b_60 :: Maybe T.Color
+c256_b_60 =  (Just (T.ColorNumber 60))
+
+c256_b_61 :: Maybe T.Color
+c256_b_61 =  (Just (T.ColorNumber 61))
+
+c256_b_62 :: Maybe T.Color
+c256_b_62 =  (Just (T.ColorNumber 62))
+
+c256_b_63 :: Maybe T.Color
+c256_b_63 =  (Just (T.ColorNumber 63))
+
+c256_b_64 :: Maybe T.Color
+c256_b_64 =  (Just (T.ColorNumber 64))
+
+c256_b_65 :: Maybe T.Color
+c256_b_65 =  (Just (T.ColorNumber 65))
+
+c256_b_66 :: Maybe T.Color
+c256_b_66 =  (Just (T.ColorNumber 66))
+
+c256_b_67 :: Maybe T.Color
+c256_b_67 =  (Just (T.ColorNumber 67))
+
+c256_b_68 :: Maybe T.Color
+c256_b_68 =  (Just (T.ColorNumber 68))
+
+c256_b_69 :: Maybe T.Color
+c256_b_69 =  (Just (T.ColorNumber 69))
+
+c256_b_70 :: Maybe T.Color
+c256_b_70 =  (Just (T.ColorNumber 70))
+
+c256_b_71 :: Maybe T.Color
+c256_b_71 =  (Just (T.ColorNumber 71))
+
+c256_b_72 :: Maybe T.Color
+c256_b_72 =  (Just (T.ColorNumber 72))
+
+c256_b_73 :: Maybe T.Color
+c256_b_73 =  (Just (T.ColorNumber 73))
+
+c256_b_74 :: Maybe T.Color
+c256_b_74 =  (Just (T.ColorNumber 74))
+
+c256_b_75 :: Maybe T.Color
+c256_b_75 =  (Just (T.ColorNumber 75))
+
+c256_b_76 :: Maybe T.Color
+c256_b_76 =  (Just (T.ColorNumber 76))
+
+c256_b_77 :: Maybe T.Color
+c256_b_77 =  (Just (T.ColorNumber 77))
+
+c256_b_78 :: Maybe T.Color
+c256_b_78 =  (Just (T.ColorNumber 78))
+
+c256_b_79 :: Maybe T.Color
+c256_b_79 =  (Just (T.ColorNumber 79))
+
+c256_b_80 :: Maybe T.Color
+c256_b_80 =  (Just (T.ColorNumber 80))
+
+c256_b_81 :: Maybe T.Color
+c256_b_81 =  (Just (T.ColorNumber 81))
+
+c256_b_82 :: Maybe T.Color
+c256_b_82 =  (Just (T.ColorNumber 82))
+
+c256_b_83 :: Maybe T.Color
+c256_b_83 =  (Just (T.ColorNumber 83))
+
+c256_b_84 :: Maybe T.Color
+c256_b_84 =  (Just (T.ColorNumber 84))
+
+c256_b_85 :: Maybe T.Color
+c256_b_85 =  (Just (T.ColorNumber 85))
+
+c256_b_86 :: Maybe T.Color
+c256_b_86 =  (Just (T.ColorNumber 86))
+
+c256_b_87 :: Maybe T.Color
+c256_b_87 =  (Just (T.ColorNumber 87))
+
+c256_b_88 :: Maybe T.Color
+c256_b_88 =  (Just (T.ColorNumber 88))
+
+c256_b_89 :: Maybe T.Color
+c256_b_89 =  (Just (T.ColorNumber 89))
+
+c256_b_90 :: Maybe T.Color
+c256_b_90 =  (Just (T.ColorNumber 90))
+
+c256_b_91 :: Maybe T.Color
+c256_b_91 =  (Just (T.ColorNumber 91))
+
+c256_b_92 :: Maybe T.Color
+c256_b_92 =  (Just (T.ColorNumber 92))
+
+c256_b_93 :: Maybe T.Color
+c256_b_93 =  (Just (T.ColorNumber 93))
+
+c256_b_94 :: Maybe T.Color
+c256_b_94 =  (Just (T.ColorNumber 94))
+
+c256_b_95 :: Maybe T.Color
+c256_b_95 =  (Just (T.ColorNumber 95))
+
+c256_b_96 :: Maybe T.Color
+c256_b_96 =  (Just (T.ColorNumber 96))
+
+c256_b_97 :: Maybe T.Color
+c256_b_97 =  (Just (T.ColorNumber 97))
+
+c256_b_98 :: Maybe T.Color
+c256_b_98 =  (Just (T.ColorNumber 98))
+
+c256_b_99 :: Maybe T.Color
+c256_b_99 =  (Just (T.ColorNumber 99))
+
+c256_b_100 :: Maybe T.Color
+c256_b_100 =  (Just (T.ColorNumber 100))
+
+c256_b_101 :: Maybe T.Color
+c256_b_101 =  (Just (T.ColorNumber 101))
+
+c256_b_102 :: Maybe T.Color
+c256_b_102 =  (Just (T.ColorNumber 102))
+
+c256_b_103 :: Maybe T.Color
+c256_b_103 =  (Just (T.ColorNumber 103))
+
+c256_b_104 :: Maybe T.Color
+c256_b_104 =  (Just (T.ColorNumber 104))
+
+c256_b_105 :: Maybe T.Color
+c256_b_105 =  (Just (T.ColorNumber 105))
+
+c256_b_106 :: Maybe T.Color
+c256_b_106 =  (Just (T.ColorNumber 106))
+
+c256_b_107 :: Maybe T.Color
+c256_b_107 =  (Just (T.ColorNumber 107))
+
+c256_b_108 :: Maybe T.Color
+c256_b_108 =  (Just (T.ColorNumber 108))
+
+c256_b_109 :: Maybe T.Color
+c256_b_109 =  (Just (T.ColorNumber 109))
+
+c256_b_110 :: Maybe T.Color
+c256_b_110 =  (Just (T.ColorNumber 110))
+
+c256_b_111 :: Maybe T.Color
+c256_b_111 =  (Just (T.ColorNumber 111))
+
+c256_b_112 :: Maybe T.Color
+c256_b_112 =  (Just (T.ColorNumber 112))
+
+c256_b_113 :: Maybe T.Color
+c256_b_113 =  (Just (T.ColorNumber 113))
+
+c256_b_114 :: Maybe T.Color
+c256_b_114 =  (Just (T.ColorNumber 114))
+
+c256_b_115 :: Maybe T.Color
+c256_b_115 =  (Just (T.ColorNumber 115))
+
+c256_b_116 :: Maybe T.Color
+c256_b_116 =  (Just (T.ColorNumber 116))
+
+c256_b_117 :: Maybe T.Color
+c256_b_117 =  (Just (T.ColorNumber 117))
+
+c256_b_118 :: Maybe T.Color
+c256_b_118 =  (Just (T.ColorNumber 118))
+
+c256_b_119 :: Maybe T.Color
+c256_b_119 =  (Just (T.ColorNumber 119))
+
+c256_b_120 :: Maybe T.Color
+c256_b_120 =  (Just (T.ColorNumber 120))
+
+c256_b_121 :: Maybe T.Color
+c256_b_121 =  (Just (T.ColorNumber 121))
+
+c256_b_122 :: Maybe T.Color
+c256_b_122 =  (Just (T.ColorNumber 122))
+
+c256_b_123 :: Maybe T.Color
+c256_b_123 =  (Just (T.ColorNumber 123))
+
+c256_b_124 :: Maybe T.Color
+c256_b_124 =  (Just (T.ColorNumber 124))
+
+c256_b_125 :: Maybe T.Color
+c256_b_125 =  (Just (T.ColorNumber 125))
+
+c256_b_126 :: Maybe T.Color
+c256_b_126 =  (Just (T.ColorNumber 126))
+
+c256_b_127 :: Maybe T.Color
+c256_b_127 =  (Just (T.ColorNumber 127))
+
+c256_b_128 :: Maybe T.Color
+c256_b_128 =  (Just (T.ColorNumber 128))
+
+c256_b_129 :: Maybe T.Color
+c256_b_129 =  (Just (T.ColorNumber 129))
+
+c256_b_130 :: Maybe T.Color
+c256_b_130 =  (Just (T.ColorNumber 130))
+
+c256_b_131 :: Maybe T.Color
+c256_b_131 =  (Just (T.ColorNumber 131))
+
+c256_b_132 :: Maybe T.Color
+c256_b_132 =  (Just (T.ColorNumber 132))
+
+c256_b_133 :: Maybe T.Color
+c256_b_133 =  (Just (T.ColorNumber 133))
+
+c256_b_134 :: Maybe T.Color
+c256_b_134 =  (Just (T.ColorNumber 134))
+
+c256_b_135 :: Maybe T.Color
+c256_b_135 =  (Just (T.ColorNumber 135))
+
+c256_b_136 :: Maybe T.Color
+c256_b_136 =  (Just (T.ColorNumber 136))
+
+c256_b_137 :: Maybe T.Color
+c256_b_137 =  (Just (T.ColorNumber 137))
+
+c256_b_138 :: Maybe T.Color
+c256_b_138 =  (Just (T.ColorNumber 138))
+
+c256_b_139 :: Maybe T.Color
+c256_b_139 =  (Just (T.ColorNumber 139))
+
+c256_b_140 :: Maybe T.Color
+c256_b_140 =  (Just (T.ColorNumber 140))
+
+c256_b_141 :: Maybe T.Color
+c256_b_141 =  (Just (T.ColorNumber 141))
+
+c256_b_142 :: Maybe T.Color
+c256_b_142 =  (Just (T.ColorNumber 142))
+
+c256_b_143 :: Maybe T.Color
+c256_b_143 =  (Just (T.ColorNumber 143))
+
+c256_b_144 :: Maybe T.Color
+c256_b_144 =  (Just (T.ColorNumber 144))
+
+c256_b_145 :: Maybe T.Color
+c256_b_145 =  (Just (T.ColorNumber 145))
+
+c256_b_146 :: Maybe T.Color
+c256_b_146 =  (Just (T.ColorNumber 146))
+
+c256_b_147 :: Maybe T.Color
+c256_b_147 =  (Just (T.ColorNumber 147))
+
+c256_b_148 :: Maybe T.Color
+c256_b_148 =  (Just (T.ColorNumber 148))
+
+c256_b_149 :: Maybe T.Color
+c256_b_149 =  (Just (T.ColorNumber 149))
+
+c256_b_150 :: Maybe T.Color
+c256_b_150 =  (Just (T.ColorNumber 150))
+
+c256_b_151 :: Maybe T.Color
+c256_b_151 =  (Just (T.ColorNumber 151))
+
+c256_b_152 :: Maybe T.Color
+c256_b_152 =  (Just (T.ColorNumber 152))
+
+c256_b_153 :: Maybe T.Color
+c256_b_153 =  (Just (T.ColorNumber 153))
+
+c256_b_154 :: Maybe T.Color
+c256_b_154 =  (Just (T.ColorNumber 154))
+
+c256_b_155 :: Maybe T.Color
+c256_b_155 =  (Just (T.ColorNumber 155))
+
+c256_b_156 :: Maybe T.Color
+c256_b_156 =  (Just (T.ColorNumber 156))
+
+c256_b_157 :: Maybe T.Color
+c256_b_157 =  (Just (T.ColorNumber 157))
+
+c256_b_158 :: Maybe T.Color
+c256_b_158 =  (Just (T.ColorNumber 158))
+
+c256_b_159 :: Maybe T.Color
+c256_b_159 =  (Just (T.ColorNumber 159))
+
+c256_b_160 :: Maybe T.Color
+c256_b_160 =  (Just (T.ColorNumber 160))
+
+c256_b_161 :: Maybe T.Color
+c256_b_161 =  (Just (T.ColorNumber 161))
+
+c256_b_162 :: Maybe T.Color
+c256_b_162 =  (Just (T.ColorNumber 162))
+
+c256_b_163 :: Maybe T.Color
+c256_b_163 =  (Just (T.ColorNumber 163))
+
+c256_b_164 :: Maybe T.Color
+c256_b_164 =  (Just (T.ColorNumber 164))
+
+c256_b_165 :: Maybe T.Color
+c256_b_165 =  (Just (T.ColorNumber 165))
+
+c256_b_166 :: Maybe T.Color
+c256_b_166 =  (Just (T.ColorNumber 166))
+
+c256_b_167 :: Maybe T.Color
+c256_b_167 =  (Just (T.ColorNumber 167))
+
+c256_b_168 :: Maybe T.Color
+c256_b_168 =  (Just (T.ColorNumber 168))
+
+c256_b_169 :: Maybe T.Color
+c256_b_169 =  (Just (T.ColorNumber 169))
+
+c256_b_170 :: Maybe T.Color
+c256_b_170 =  (Just (T.ColorNumber 170))
+
+c256_b_171 :: Maybe T.Color
+c256_b_171 =  (Just (T.ColorNumber 171))
+
+c256_b_172 :: Maybe T.Color
+c256_b_172 =  (Just (T.ColorNumber 172))
+
+c256_b_173 :: Maybe T.Color
+c256_b_173 =  (Just (T.ColorNumber 173))
+
+c256_b_174 :: Maybe T.Color
+c256_b_174 =  (Just (T.ColorNumber 174))
+
+c256_b_175 :: Maybe T.Color
+c256_b_175 =  (Just (T.ColorNumber 175))
+
+c256_b_176 :: Maybe T.Color
+c256_b_176 =  (Just (T.ColorNumber 176))
+
+c256_b_177 :: Maybe T.Color
+c256_b_177 =  (Just (T.ColorNumber 177))
+
+c256_b_178 :: Maybe T.Color
+c256_b_178 =  (Just (T.ColorNumber 178))
+
+c256_b_179 :: Maybe T.Color
+c256_b_179 =  (Just (T.ColorNumber 179))
+
+c256_b_180 :: Maybe T.Color
+c256_b_180 =  (Just (T.ColorNumber 180))
+
+c256_b_181 :: Maybe T.Color
+c256_b_181 =  (Just (T.ColorNumber 181))
+
+c256_b_182 :: Maybe T.Color
+c256_b_182 =  (Just (T.ColorNumber 182))
+
+c256_b_183 :: Maybe T.Color
+c256_b_183 =  (Just (T.ColorNumber 183))
+
+c256_b_184 :: Maybe T.Color
+c256_b_184 =  (Just (T.ColorNumber 184))
+
+c256_b_185 :: Maybe T.Color
+c256_b_185 =  (Just (T.ColorNumber 185))
+
+c256_b_186 :: Maybe T.Color
+c256_b_186 =  (Just (T.ColorNumber 186))
+
+c256_b_187 :: Maybe T.Color
+c256_b_187 =  (Just (T.ColorNumber 187))
+
+c256_b_188 :: Maybe T.Color
+c256_b_188 =  (Just (T.ColorNumber 188))
+
+c256_b_189 :: Maybe T.Color
+c256_b_189 =  (Just (T.ColorNumber 189))
+
+c256_b_190 :: Maybe T.Color
+c256_b_190 =  (Just (T.ColorNumber 190))
+
+c256_b_191 :: Maybe T.Color
+c256_b_191 =  (Just (T.ColorNumber 191))
+
+c256_b_192 :: Maybe T.Color
+c256_b_192 =  (Just (T.ColorNumber 192))
+
+c256_b_193 :: Maybe T.Color
+c256_b_193 =  (Just (T.ColorNumber 193))
+
+c256_b_194 :: Maybe T.Color
+c256_b_194 =  (Just (T.ColorNumber 194))
+
+c256_b_195 :: Maybe T.Color
+c256_b_195 =  (Just (T.ColorNumber 195))
+
+c256_b_196 :: Maybe T.Color
+c256_b_196 =  (Just (T.ColorNumber 196))
+
+c256_b_197 :: Maybe T.Color
+c256_b_197 =  (Just (T.ColorNumber 197))
+
+c256_b_198 :: Maybe T.Color
+c256_b_198 =  (Just (T.ColorNumber 198))
+
+c256_b_199 :: Maybe T.Color
+c256_b_199 =  (Just (T.ColorNumber 199))
+
+c256_b_200 :: Maybe T.Color
+c256_b_200 =  (Just (T.ColorNumber 200))
+
+c256_b_201 :: Maybe T.Color
+c256_b_201 =  (Just (T.ColorNumber 201))
+
+c256_b_202 :: Maybe T.Color
+c256_b_202 =  (Just (T.ColorNumber 202))
+
+c256_b_203 :: Maybe T.Color
+c256_b_203 =  (Just (T.ColorNumber 203))
+
+c256_b_204 :: Maybe T.Color
+c256_b_204 =  (Just (T.ColorNumber 204))
+
+c256_b_205 :: Maybe T.Color
+c256_b_205 =  (Just (T.ColorNumber 205))
+
+c256_b_206 :: Maybe T.Color
+c256_b_206 =  (Just (T.ColorNumber 206))
+
+c256_b_207 :: Maybe T.Color
+c256_b_207 =  (Just (T.ColorNumber 207))
+
+c256_b_208 :: Maybe T.Color
+c256_b_208 =  (Just (T.ColorNumber 208))
+
+c256_b_209 :: Maybe T.Color
+c256_b_209 =  (Just (T.ColorNumber 209))
+
+c256_b_210 :: Maybe T.Color
+c256_b_210 =  (Just (T.ColorNumber 210))
+
+c256_b_211 :: Maybe T.Color
+c256_b_211 =  (Just (T.ColorNumber 211))
+
+c256_b_212 :: Maybe T.Color
+c256_b_212 =  (Just (T.ColorNumber 212))
+
+c256_b_213 :: Maybe T.Color
+c256_b_213 =  (Just (T.ColorNumber 213))
+
+c256_b_214 :: Maybe T.Color
+c256_b_214 =  (Just (T.ColorNumber 214))
+
+c256_b_215 :: Maybe T.Color
+c256_b_215 =  (Just (T.ColorNumber 215))
+
+c256_b_216 :: Maybe T.Color
+c256_b_216 =  (Just (T.ColorNumber 216))
+
+c256_b_217 :: Maybe T.Color
+c256_b_217 =  (Just (T.ColorNumber 217))
+
+c256_b_218 :: Maybe T.Color
+c256_b_218 =  (Just (T.ColorNumber 218))
+
+c256_b_219 :: Maybe T.Color
+c256_b_219 =  (Just (T.ColorNumber 219))
+
+c256_b_220 :: Maybe T.Color
+c256_b_220 =  (Just (T.ColorNumber 220))
+
+c256_b_221 :: Maybe T.Color
+c256_b_221 =  (Just (T.ColorNumber 221))
+
+c256_b_222 :: Maybe T.Color
+c256_b_222 =  (Just (T.ColorNumber 222))
+
+c256_b_223 :: Maybe T.Color
+c256_b_223 =  (Just (T.ColorNumber 223))
+
+c256_b_224 :: Maybe T.Color
+c256_b_224 =  (Just (T.ColorNumber 224))
+
+c256_b_225 :: Maybe T.Color
+c256_b_225 =  (Just (T.ColorNumber 225))
+
+c256_b_226 :: Maybe T.Color
+c256_b_226 =  (Just (T.ColorNumber 226))
+
+c256_b_227 :: Maybe T.Color
+c256_b_227 =  (Just (T.ColorNumber 227))
+
+c256_b_228 :: Maybe T.Color
+c256_b_228 =  (Just (T.ColorNumber 228))
+
+c256_b_229 :: Maybe T.Color
+c256_b_229 =  (Just (T.ColorNumber 229))
+
+c256_b_230 :: Maybe T.Color
+c256_b_230 =  (Just (T.ColorNumber 230))
+
+c256_b_231 :: Maybe T.Color
+c256_b_231 =  (Just (T.ColorNumber 231))
+
+c256_b_232 :: Maybe T.Color
+c256_b_232 =  (Just (T.ColorNumber 232))
+
+c256_b_233 :: Maybe T.Color
+c256_b_233 =  (Just (T.ColorNumber 233))
+
+c256_b_234 :: Maybe T.Color
+c256_b_234 =  (Just (T.ColorNumber 234))
+
+c256_b_235 :: Maybe T.Color
+c256_b_235 =  (Just (T.ColorNumber 235))
+
+c256_b_236 :: Maybe T.Color
+c256_b_236 =  (Just (T.ColorNumber 236))
+
+c256_b_237 :: Maybe T.Color
+c256_b_237 =  (Just (T.ColorNumber 237))
+
+c256_b_238 :: Maybe T.Color
+c256_b_238 =  (Just (T.ColorNumber 238))
+
+c256_b_239 :: Maybe T.Color
+c256_b_239 =  (Just (T.ColorNumber 239))
+
+c256_b_240 :: Maybe T.Color
+c256_b_240 =  (Just (T.ColorNumber 240))
+
+c256_b_241 :: Maybe T.Color
+c256_b_241 =  (Just (T.ColorNumber 241))
+
+c256_b_242 :: Maybe T.Color
+c256_b_242 =  (Just (T.ColorNumber 242))
+
+c256_b_243 :: Maybe T.Color
+c256_b_243 =  (Just (T.ColorNumber 243))
+
+c256_b_244 :: Maybe T.Color
+c256_b_244 =  (Just (T.ColorNumber 244))
+
+c256_b_245 :: Maybe T.Color
+c256_b_245 =  (Just (T.ColorNumber 245))
+
+c256_b_246 :: Maybe T.Color
+c256_b_246 =  (Just (T.ColorNumber 246))
+
+c256_b_247 :: Maybe T.Color
+c256_b_247 =  (Just (T.ColorNumber 247))
+
+c256_b_248 :: Maybe T.Color
+c256_b_248 =  (Just (T.ColorNumber 248))
+
+c256_b_249 :: Maybe T.Color
+c256_b_249 =  (Just (T.ColorNumber 249))
+
+c256_b_250 :: Maybe T.Color
+c256_b_250 =  (Just (T.ColorNumber 250))
+
+c256_b_251 :: Maybe T.Color
+c256_b_251 =  (Just (T.ColorNumber 251))
+
+c256_b_252 :: Maybe T.Color
+c256_b_252 =  (Just (T.ColorNumber 252))
+
+c256_b_253 :: Maybe T.Color
+c256_b_253 =  (Just (T.ColorNumber 253))
+
+c256_b_254 :: Maybe T.Color
+c256_b_254 =  (Just (T.ColorNumber 254))
+
+c256_b_255 :: Maybe T.Color
+c256_b_255 =  (Just (T.ColorNumber 255))
+
diff --git a/System/Console/Rainbow/Types.hs b/System/Console/Rainbow/Types.hs
new file mode 100644
--- /dev/null
+++ b/System/Console/Rainbow/Types.hs
@@ -0,0 +1,480 @@
+-- | The innards of Rainbow.  Ordinarily you should not need this
+-- module; instead, just import "System.Console.Rainbow", which
+-- re-exports the most useful names from this module.
+
+module System.Console.Rainbow.Types where
+
+-- # Imports
+
+import qualified Data.String as Str
+import Data.Monoid
+import Data.Text (Text)
+import Data.Maybe (fromMaybe)
+import qualified Data.Text as X
+import qualified System.Console.Terminfo as T
+import System.IO as IO
+import System.Environment as Env
+
+--
+-- Terminal definitions
+--
+
+-- | Which terminal definition to use.
+data Term
+  = Dumb
+  -- ^ Using this terminal should always succeed. This suppresses all
+  -- colors. Uesful if output is not going to a TTY, or if you just do
+  -- not like colors.
+
+  | TermName String
+  -- ^ Use the terminal with this given name. You might get this from
+  -- the TERM environment variable, or set it explicitly. A runtime
+  -- error will result if the terminfo database does not have a
+  -- definition for this terminal. If this terminal supports 256
+  -- colors, then 256 colors are used. If this terminal supports less
+  -- than 256 colors, but at least 8 colors, then 8 colors are
+  -- used. Otherwise, no colors are used.
+  deriving (Eq, Show)
+
+-- | Gets the terminal definition from the environment. If the
+-- environment does not have a TERM veriable, use 'Dumb'.
+termFromEnv :: IO Term
+termFromEnv = do
+  t <- fmap (lookup "TERM") Env.getEnvironment
+  return $ maybe Dumb TermName t
+
+-- | Gets the terminal definition from the environment. If the first
+-- argument is True, the terminal is always obtained from the
+-- environment. If it is False, the terminal is only obtained from the
+-- environment if the given handle is not a terminal; otherwise, Dumb
+-- is returned.
+smartTermFromEnv
+  :: Bool
+  -- ^ Use True if the user always wants to see colors, even if
+  -- standard output is not a terminal. Otherwise, use False.
+
+  -> IO.Handle
+  -- ^ Check this handle to see if it is a terminal (typically you
+  -- will use stdout).
+
+  -> IO Term
+smartTermFromEnv alwaysColor h =
+  if alwaysColor
+  then termFromEnv
+  else do
+        isTerm <- IO.hIsTerminalDevice h
+        if isTerm
+          then termFromEnv
+          else return Dumb
+
+-- For Background8, Background256, Foreground8, Foreground256: the
+-- Last wraps a Maybe (Terminfo Color). If the inner Maybe is Nothing,
+-- use the default color.
+
+type Background8 = Last (Maybe T.Color)
+type Background256 = Last (Maybe T.Color)
+type Foreground8 = Last (Maybe T.Color)
+type Foreground256 = Last (Maybe T.Color)
+
+--
+-- Styles
+--
+
+-- | Style elements that apply in both 8 and 256 color
+-- terminals. However, the elements are described separately for 8 and
+-- 256 color terminals, so that the text appearance can change
+-- depending on how many colors a terminal has.
+data StyleCommon = StyleCommon
+  { scBold :: Last Bool
+  , scUnderline :: Last Bool
+  , scFlash :: Last Bool
+  , scInverse :: Last Bool
+  } deriving (Show, Eq, Ord)
+
+
+instance Monoid StyleCommon where
+  mempty = StyleCommon (Last Nothing) (Last Nothing)
+                       (Last Nothing) (Last Nothing)
+  mappend (StyleCommon b1 u1 f1 i1) (StyleCommon b2 u2 f2 i2)
+    = StyleCommon (b1 <> b2) (u1 <> u2) (f1 <> f2) (i1 <> i2)
+
+-- | Describes text appearance (foreground and background colors, as
+-- well as other attributes such as bold) for an 8 color terminal.
+data Style8 = Style8
+  { foreground8 :: Foreground8
+  , background8 :: Background8
+  , common8 :: StyleCommon
+  } deriving (Show, Eq, Ord)
+
+
+instance Monoid Style8 where
+  mappend (Style8 fx bx cx) (Style8 fy by cy)
+    = Style8 (fx <> fy) (bx <> by) (cx <> cy)
+  mempty = Style8 mempty mempty mempty
+
+-- | Describes text appearance (foreground and background colors, as
+-- well as other attributes such as bold) for a 256 color terminal.
+data Style256 = Style256
+  { foreground256 :: Foreground256
+  , background256 :: Background256
+  , common256 :: StyleCommon
+  } deriving (Show, Eq, Ord)
+
+
+instance Monoid Style256 where
+  mappend (Style256 fx bx cx) (Style256 fy by cy)
+    = Style256 (fx <> fy) (bx <> by) (cx <> cy)
+  mempty = Style256 mempty mempty mempty
+
+--
+-- TextSpec
+--
+
+-- | The TextSpec bundles together the styles for the 8 and 256 color
+-- terminals, so that the text can be portrayed on any terminal.
+data TextSpec = TextSpec
+  { style8 :: Style8
+  , style256 :: Style256
+  } deriving (Show, Eq, Ord)
+
+
+instance Monoid TextSpec where
+  mappend (TextSpec x1 x2) (TextSpec y1 y2)
+    = TextSpec (x1 <> y1) (x2 <> y2)
+  mempty = TextSpec mempty mempty
+
+--
+-- Chunks
+--
+
+-- | A chunk is some textual data coupled with a description of what
+-- color the text is, attributes like whether it is bold or
+-- underlined, etc. The chunk knows what foreground and background
+-- colors and what attributes to use for both an 8 color terminal and
+-- a 256 color terminal.
+
+data Chunk = Chunk
+  { textSpec :: TextSpec
+  , text :: Text
+  } deriving (Eq, Show, Ord)
+
+
+instance Str.IsString Chunk where
+  fromString s = Chunk mempty (X.pack s)
+
+fromText :: Text -> Chunk
+fromText = Chunk mempty
+
+instance Monoid Chunk where
+  mempty = Chunk mempty mempty
+  mappend (Chunk s1 t1) (Chunk s2 t2) = Chunk (s1 <> s2) (t1 <> t2)
+
+
+defaultColors :: T.Terminal -> T.TermOutput
+defaultColors term =
+  fromMaybe mempty (T.getCapability term T.restoreDefaultColors)
+
+
+commonAttrs :: T.Terminal -> StyleCommon -> T.TermOutput
+commonAttrs t s =
+  let a = T.Attributes
+        { T.standoutAttr = False
+        , T.underlineAttr = fromMaybe False
+          . getLast . scUnderline $ s
+        , T.reverseAttr = fromMaybe False
+          . getLast . scInverse $ s
+        , T.blinkAttr = fromMaybe False
+          . getLast . scFlash $ s
+        , T.dimAttr = False
+        , T.boldAttr = fromMaybe False
+          . getLast . scBold $ s
+        , T.invisibleAttr = False
+        , T.protectedAttr = False
+        }
+  in case T.getCapability t (T.setAttributes) of
+      Nothing -> error $ "System.Console.Rainbow: commonAttrs: "
+                 ++ "capability failed; should never happen"
+      Just f -> f a
+
+
+-- | Gets the right set of terminal codes to apply the desired
+-- highlighting, bold, underlining, etc. Be sure to apply the
+-- attributes first (bold, underlining, etc) and then the
+-- colors. Setting the colors first and then the attributes seems to
+-- reset the colors, giving blank output.
+getTermCodes
+  :: T.Terminal
+  -> TextSpec
+  -> T.TermOutput
+getTermCodes t ts = fromMaybe mempty $ do
+  cols <- T.getCapability t T.termColors
+  let TextSpec s8 s256 = ts
+      Style8 f8 b8 c8 = s8
+      Style256 f256 b256 c256 = s256
+  setFg <- T.getCapability t T.setForegroundColor
+  setBg <- T.getCapability t T.setBackgroundColor
+  (fg, bg, cm) <- case () of
+    _ | cols >= 256 -> Just $ ( getLast f256
+                              , getLast b256
+                              , c256)
+      | cols >= 8 -> Just ( getLast f8
+                         , getLast b8
+                         , c8)
+      | otherwise -> Nothing
+  let oFg = maybe mempty (maybe mempty setFg) fg
+      oBg = maybe mempty (maybe mempty setBg) bg
+      oCm = commonAttrs t cm
+  return $ mconcat [oCm, oFg, oBg]
+
+
+hPrintChunk :: IO.Handle -> T.Terminal -> Chunk -> IO ()
+hPrintChunk h t (Chunk ts x) =
+  T.hRunTermOutput h t
+  . mconcat
+  $ [defaultColors t, codes, txt]
+  where
+    codes = getTermCodes t ts
+    txt = T.termText . X.unpack $ x
+
+-- | Sends a list of chunks to the given handle for printing. Sets up
+-- the terminal (this only needs to be done once.) Lazily processes
+-- the list of Chunk. See 'putChunks' for notes on how many colors
+-- are used.
+hPutChunks :: IO.Handle -> Term -> [Chunk] -> IO ()
+hPutChunks h t cs = do
+  let setup = case t of
+        Dumb -> T.setupTerm "dumb"
+        TermName s -> T.setupTerm s
+  term <- setup
+  mapM_ (hPrintChunk h term) cs
+  T.hRunTermOutput h term (defaultColors term)
+  T.hRunTermOutput h term
+    $ case T.getCapability term T.allAttributesOff of
+        Nothing -> error $ "System.Console.Rainbow.putChunks: error: "
+                   ++ "allAttributesOff failed"
+        Just s -> s
+
+-- | Sends a list of chunks to standard output for printing. Sets up
+-- the terminal (this only needs to be done once.) Lazily processes
+-- the list of Chunk.
+--
+-- Which colors are used depends upon the 'Term'. If it is 'Dumb',
+-- then no colors are used on output. If the 'Term' is specified with
+-- 'TermName', the UNIX terminfo library is used to determine how many
+-- colors the terminal supports. If it supports at least 256 colors,
+-- then 256 colors are used. If it supports at least 8 colors but less
+-- than 256 colors, then 256 colors are used. Otherwise, no colors are
+-- used. A runtime error will occur if the 'TermName' is not found in
+-- the system terminal database.
+putChunks :: Term -> [Chunk] -> IO ()
+putChunks = hPutChunks IO.stdout
+
+-- | Print one chunk at a time, to a handle
+hPutChunk :: IO.Handle -> Chunk -> IO ()
+hPutChunk h c = do
+  t <- termFromEnv
+  hPutChunks h t [c]
+
+-- | Print one chunk at a time, to standard output
+putChunk :: Chunk -> IO ()
+putChunk = hPutChunk IO.stdout
+
+-- | Print one chunk at a time, to a handle, append a newline
+hPutChunkLn :: IO.Handle -> Chunk -> IO ()
+hPutChunkLn h c = hPutChunk h c >> IO.hPutStr h "\n"
+
+-- | Print one chunk at a time, to standard output, append a newline
+putChunkLn :: Chunk -> IO ()
+putChunkLn c = putChunk c >> putStr "\n"
+
+bold8 :: Chunk
+bold8 = x {
+  textSpec = (textSpec x) {
+    style8 = (style8 (textSpec x)) {
+      common8 = (common8 (style8 (textSpec x))) {
+        scBold = Last (Just True) }}}}
+  where
+    x = mempty
+
+bold8off :: Chunk
+bold8off = x {
+  textSpec = (textSpec x) {
+    style8 = (style8 (textSpec x)) {
+      common8 = (common8 (style8 (textSpec x))) {
+        scBold = Last (Just False) }}}}
+  where
+    x = mempty
+
+
+underline8 :: Chunk
+underline8 = x {
+  textSpec = (textSpec x) {
+    style8 = (style8 (textSpec x)) {
+      common8 = (common8 (style8 (textSpec x))) {
+        scUnderline = Last (Just True) }}}}
+  where
+    x = mempty
+
+
+underline8off :: Chunk
+underline8off = x {
+  textSpec = (textSpec x) {
+    style8 = (style8 (textSpec x)) {
+      common8 = (common8 (style8 (textSpec x))) {
+        scUnderline = Last (Just False) }}}}
+  where
+    x = mempty
+
+flash8 :: Chunk
+flash8 = x {
+  textSpec = (textSpec x) {
+    style8 = (style8 (textSpec x)) {
+      common8 = (common8 (style8 (textSpec x))) {
+        scFlash = Last (Just True) }}}}
+  where
+    x = mempty
+
+flash8off :: Chunk
+flash8off = x {
+  textSpec = (textSpec x) {
+    style8 = (style8 (textSpec x)) {
+      common8 = (common8 (style8 (textSpec x))) {
+        scFlash = Last (Just False) }}}}
+  where
+    x = mempty
+
+
+inverse8 :: Chunk
+inverse8 = x {
+  textSpec = (textSpec x) {
+    style8 = (style8 (textSpec x)) {
+      common8 = (common8 (style8 (textSpec x))) {
+        scInverse = Last (Just True) }}}}
+  where
+    x = mempty
+
+inverse8off :: Chunk
+inverse8off = x {
+  textSpec = (textSpec x) {
+    style8 = (style8 (textSpec x)) {
+      common8 = (common8 (style8 (textSpec x))) {
+        scInverse = Last (Just False) }}}}
+  where
+    x = mempty
+
+
+underline256 :: Chunk
+underline256 = x {
+  textSpec = (textSpec x) {
+    style256 = (style256 (textSpec x)) {
+      common256 = (common256 (style256 (textSpec x))) {
+        scUnderline = Last (Just True) }}}}
+  where
+    x = mempty
+
+
+underline256off :: Chunk
+underline256off = x {
+  textSpec = (textSpec x) {
+    style256 = (style256 (textSpec x)) {
+      common256 = (common256 (style256 (textSpec x))) {
+        scUnderline = Last (Just False) }}}}
+  where
+    x = mempty
+
+bold256 :: Chunk
+bold256 = x {
+  textSpec = (textSpec x) {
+    style256 = (style256 (textSpec x)) {
+      common256 = (common256 (style256 (textSpec x))) {
+        scBold = Last (Just True) }}}}
+  where
+    x = mempty
+
+bold256off :: Chunk
+bold256off = x {
+  textSpec = (textSpec x) {
+    style256 = (style256 (textSpec x)) {
+      common256 = (common256 (style256 (textSpec x))) {
+        scBold = Last (Just False) }}}}
+  where
+    x = mempty
+
+
+inverse256 :: Chunk
+inverse256 = x {
+  textSpec = (textSpec x) {
+    style256 = (style256 (textSpec x)) {
+      common256 = (common256 (style256 (textSpec x))) {
+        scInverse = Last (Just True) }}}}
+  where
+    x = mempty
+
+inverse256off :: Chunk
+inverse256off = x {
+  textSpec = (textSpec x) {
+    style256 = (style256 (textSpec x)) {
+      common256 = (common256 (style256 (textSpec x))) {
+        scInverse = Last (Just False) }}}}
+  where
+    x = mempty
+
+
+flash256 :: Chunk
+flash256 = x {
+  textSpec = (textSpec x) {
+    style256 = (style256 (textSpec x)) {
+      common256 = (common256 (style256 (textSpec x))) {
+        scFlash = Last (Just True) }}}}
+  where
+    x = mempty
+
+
+flash256off :: Chunk
+flash256off = x {
+  textSpec = (textSpec x) {
+    style256 = (style256 (textSpec x)) {
+      common256 = (common256 (style256 (textSpec x))) {
+        scFlash = Last (Just False) }}}}
+  where
+    x = mempty
+
+
+--
+-- All
+--
+
+
+-- | Bold. What actually happens when you use Bold is going to depend
+-- on your terminal. For example, xterm allows you actually use a bold
+-- font for bold, if you have one. Otherwise, it might simulate bold
+-- by using overstriking. Another possibility is that your terminal
+-- might use a different color to indicate bold. For more details (at
+-- least for xterm), look at xterm (1) and search for @boldColors@.
+--
+-- If your terminal uses a different color for bold, this allows an
+-- 8-color terminal to really have 16 colors.
+bold :: Chunk
+bold = bold8 <> bold256
+
+boldOff :: Chunk
+boldOff = bold8off <> bold256off
+
+inverse :: Chunk
+inverse = inverse8 <> inverse256
+
+inverseOff :: Chunk
+inverseOff = inverse8off <> inverse256off
+
+flash :: Chunk
+flash = flash8 <> flash256
+
+flashOff :: Chunk
+flashOff = flash8off <> flash256off
+
+underline :: Chunk
+underline = underline8 <> underline256
+
+underlineOff :: Chunk
+underlineOff = underline8off <> underline256off
+
diff --git a/current-versions.txt b/current-versions.txt
--- a/current-versions.txt
+++ b/current-versions.txt
@@ -1,7 +1,7 @@
 This package was tested to work with these dependency
 versions and compiler version.
 These are the default versions fetched by cabal install.
-Tested as of: 2014-02-24 04:09:33.509271 UTC
+Tested as of: 2014-03-05 19:42:47.837532 UTC
 Path to compiler: ghc-7.6.3
 Compiler description: 7.6.3
 
@@ -32,8 +32,8 @@
     time-1.4.0.1
     unix-2.6.0.1
 
-/home/massysett/rainbow/sunlight-16708/db:
-    rainbow-0.6.0.4
+/home/massysett/rainbow/sunlight-15942/db:
+    rainbow-0.8.0.0
     terminfo-0.4.0.0
     text-1.1.0.0
 
diff --git a/minimum-versions.txt b/minimum-versions.txt
--- a/minimum-versions.txt
+++ b/minimum-versions.txt
@@ -1,11 +1,11 @@
 This package was tested to work with these dependency
 versions and compiler version.
 These are the minimum versions given in the .cabal file.
-Tested as of: 2014-02-24 04:09:33.509271 UTC
+Tested as of: 2014-03-05 19:42:47.837532 UTC
 Path to compiler: ghc-7.4.1
 Compiler description: 7.4.1
 
-/opt/ghc/7.4.1/lib/ghc-7.4.1/package.conf.d:
+/var/lib/ghc/package.conf.d:
     Cabal-1.14.0
     array-0.4.0.0
     base-4.5.0.0
@@ -33,8 +33,8 @@
     time-1.4
     unix-2.5.1.0
 
-/home/massysett/rainbow/sunlight-16708/db:
-    rainbow-0.6.0.4
+/home/massysett/rainbow/sunlight-15942/db:
+    rainbow-0.8.0.0
     terminfo-0.3.2
     text-0.11.2.0
 
diff --git a/rainbow.cabal b/rainbow.cabal
--- a/rainbow.cabal
+++ b/rainbow.cabal
@@ -1,5 +1,5 @@
 name:                rainbow
-version:             0.6.0.4
+version:             0.8.0.0
 synopsis:            Print text to terminal with colors and effects
 description:
   rainbow helps you print Text chunks to a terminal with colors and effects
@@ -38,6 +38,9 @@
 library
   exposed-modules:
       System.Console.Rainbow
+    , System.Console.Rainbow.Types
+    , System.Console.Rainbow.Colors
+    , System.Console.Rainbow.ColorChunks
 
   build-depends:
       base >=4.5.0.0 && <5
