         }
     }
 
-    public var type: String { // TODO: better type
+    var type: String { // TODO: better type
         return self.components(separatedBy: "_").map({ $0.capitalizingFirstLetter() }).joined().capitalizingFirstLetter()
     }
 
-    public func propertyName(meta: Meta) -> String {
+    func propertyName(meta: Meta) -> String {
         if let propertyName = meta.propertyMap[self] {
             return propertyName
         } else if Meta.swiftKeywords.contains(self) {

}

extension Value {
    public var type: String {
        switch self {
        case .empty:
            return "Any"

}

extension String {
    func singularForm(meta: Meta) -> String {
        return singularForm(arrayObjectMap: meta.arrayObjectMap)
    }
    func singularForm(arrayObjectMap: [String: String]) -> String { // TODO: better singularForm
        if let name = arrayObjectMap[self] {
            return name
        } else {
