 
 injectables.forEach { print($0, "\n") }
 parameters.forEach { print($0, "\n") }
+
+let blueprints = types.filter { $0.inheritedTypes.contains("ModuleBlueprint") }
+print(blueprints)

}

struct Type {
    enum Kind: String {
        case `struct`   = "source.lang.swift.decl.struct"
        case `class`    = "source.lang.swift.decl.class"
        case `enum`     = "source.lang.swift.decl.enum"
        case `protocol` = "source.lang.swift.decl.protocol"
    }
    
    let name: String
    let kind: Kind
    let fuctions: [Function]
    let inheritedTypes: [String]

    init?(structure: Structure) {
        guard
            let kind = structure.kind.flatMap(Kind.init(rawValue:)),
            let name = structure.name else {
            return nil
        }

        let type: String

        init?(structure: Structure) {
            guard structure.kind == .varParameter,
                let name = structure.name,
                let type = structure.dictionary["key.typename"] as? String else {
                return nil
