 }
 
 // https://github.com/apple/swift/blob/master/docs/SIL.rst#basic-blocks
-public class Argument {
+public struct Argument: Equatable {
     public let valueName: String
     public let type: Type
 

}

// Reverse-engineered from -emit-silgen
public enum LoadOwnership {
    case copy
    case take
    case trivial
}

// Reverse-engineered from -emit-silgen
public enum StoreOwnership {
    case `init`
    case trivial
}


// https://github.com/apple/swift/blob/master/include/swift/SIL/SILDeclRef.h
// https://github.com/apple/swift/blob/master/docs/SIL.rst#declaration-references
public struct DeclRef: Equatable {
    public let name: [String]
    public let kind: DeclKind?
    public let level: Int?
