 }
 
 /* As a MyStruct instance is contained in MyClass, extend MyStruct to PseudoEquatableType
-   to add the type to allowed property types in EquatableConstruct    */
+ to add the type to allowed property types in EquatableConstruct    */
 extension MyStruct : PseudoEquatableType {}
 
 /* Conformance to EquatableConstruct implies conformance to Equatable */


/*  EquatableConstruct conformance to Equatable  */
func ==<T: EquatableConstruct>(lhs: T, rhs: T) -> Bool {
    
    let mirrorLhs = Mirror(reflecting: lhs)
    let mirrorRhs = Mirror(reflecting: rhs)
    
    guard let displayStyle = mirrorLhs.displayStyle
        where (displayStyle == .Struct || displayStyle == .Class) else {
            
            print("Invalid use: type is not a construct.")
            return false

        for i in 0..<childrenLhs.count {
            
            guard let valLhs = childrenLhs[i].value as? PseudoEquatableType,
                  let valRhs = childrenRhs[i].value as? PseudoEquatableType else {
                    print("Invalid use: Properties 'lhs.\(childrenLhs[i].label!)'",
                        "and/or 'rhs.\(childrenRhs[i].label!)' are/is not of",
                        "PseudoEquatableType type.")
