     }
 
     /// A simple timestamp type that encodes as a single Double value.
-    fileprivate struct Timestamp: Codable, Equatable {
+    private struct Timestamp: Codable, Equatable {
         let value: Double
 
         init(_ value: Double) {

                ("testEncodingTopLevelSingleValueClass", testEncodingTopLevelSingleValueClass),
                ("testEncodingTopLevelStructuredStruct", testEncodingTopLevelStructuredStruct),
                ("testEncodingTopLevelStructuredClass", testEncodingTopLevelStructuredClass),
                ("testEncodingTopLevelDeepStructuredType", testEncodingTopLevelDeepStructuredType),
                ("testEncodingDate", testEncodingDate),
                ("testEncodingDateMillisecondsSince1970", testEncodingDateMillisecondsSince1970),
                ("testEncodingBase64Data", testEncodingBase64Data)
            ]
        }
    }

#endif

        }

        static func == (lhs: Counter, rhs: Counter) -> Bool {
            return lhs === rhs || lhs.count == rhs.count
        }
    }

    // MARK: - Structured Types
    /// A simple address type that encodes as a dictionary of values.
    private struct Address: Codable, Equatable {
        let street: String
        let city: String
        let state: String
