 */
 public protocol CodingType {
 
+    /** 
+     The type of the composed value, ValueType
+     
+     Bear in mind that there are no constraints on this
+     type. However, in reality when working with generic
+     types which require coding, it will be necessary to
+     constrain your generic clauses like this:
+     
+     ```swift
+     func foo<T: ValueCoding where T.Coder.ValueType == T>()
+     ```
+     
+     - see: ValueCoding
+    */
     typealias ValueType
 
     /// The value type which is being encoded/decoded

coding.
*/
public protocol ValueCoding {
    typealias Coder: CodingType
}


    }
}

extension SequenceType where
    Generator.Element: CodingType {

    /// Access the values from a sequence of coders.
