  unique.
  */
 public protocol Keyed {
-    /**
-     The fully qualified name of a type produced by `String(reflecting: type)`.
-    */
+    /// The fully qualified name of a type produced by `String(reflecting: type)`.
     var type: String { get }
     /**
      The name of a registration. Defaults to `Name.default`.

 
 This is also the type that Guise uses under the hood to associate
 keys with registered dependencies.
*/
public struct AnyKey: EquatableKeyed {
    public let type: String

     any purpose. One common use is to quickly _unregister_ many
     registrations at once:
     
         Guise.unregister(container: Container.plugins)
    */
    var container: AnyHashable { get }
}

/**
 Types which are all of `Keyed`, `Hashable`, and `Equatable`.
 
 Both `Key` and `AnyKey` implement this protocol.
*/
public protocol EquatableKeyed: Keyed, Hashable, Equatable {
    
}
