 coding.
 */
 public protocol ValueCoding {
+
+    /**
+     The Coder which implements CodingType
+     
+     - see: CodingType
+    */
     typealias Coder: CodingType
 }
 

    }
}

extension SequenceType
    where
    Generator.Element: ValueCoding,
    Generator.Element.Coder: NSCoding,
    Generator.Element.Coder.ValueType == Generator.Element {

*/
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
