diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,7 @@
+# 0.3.0.1
+
+- Enhanced Texture documentation.
+
 # 0.3
 
 - All textures can now be used in shaders.
diff --git a/luminance.cabal b/luminance.cabal
--- a/luminance.cabal
+++ b/luminance.cabal
@@ -1,5 +1,5 @@
 name:                luminance
-version:             0.3
+version:             0.3.0.1
 synopsis:            Type-safe, dependently-typed and stateless graphics framework
 description:         This package exposes several modules to work with /GPUs/ in a stateless and
                      type-safe way. Currently, it uses __OpenGL__ as backend hardware technology but
diff --git a/src/Graphics/Luminance/Core/Texture.hs b/src/Graphics/Luminance/Core/Texture.hs
--- a/src/Graphics/Luminance/Core/Texture.hs
+++ b/src/Graphics/Luminance/Core/Texture.hs
@@ -83,8 +83,13 @@
 ----------------------------------------------------------------------------------------------------
 -- Textures ----------------------------------------------------------------------------------------
 
+-- |Class of all textures.
 class Texture t where
+  -- |Size of a texture. This is an associated type – /type family/ – because the dimensionality of
+  -- a texture relies on its type.
   type TextureSize t :: *
+  -- |In order to index regions of texels in texture, we need another associated type – for the same
+  -- dimensionality reason as for 'TextureSize'.
   type TextureOffset t :: *
   fromBaseTexture :: BaseTexture -> TextureSize t -> t
   toBaseTexture :: t -> BaseTexture
diff --git a/src/Graphics/Luminance/Texture.hs b/src/Graphics/Luminance/Texture.hs
--- a/src/Graphics/Luminance/Texture.hs
+++ b/src/Graphics/Luminance/Texture.hs
@@ -10,7 +10,7 @@
 
 module Graphics.Luminance.Texture (
     -- * Texture information and creation
-    Texture
+    Texture(TextureSize, TextureOffset)
   , createTexture
     -- * Sampling
   , Sampling(..)
