// Generated by Lisette bindgen
// Source: unique (Go stdlib)
// Go: 1.25.10
// Lisette: 0.2.1

/// Make returns a globally unique handle for a value of type T. Handles
/// are equal if and only if the values used to produce them are equal.
/// Make is safe for concurrent use by multiple goroutines.
pub fn Make<T: Comparable>(value: T) -> Handle<T>

/// Handle is a globally unique identity for some value of type T.
/// 
/// Two handles compare equal exactly if the two values used to create the handles
/// would have also compared equal. The comparison of two handles is trivial and
/// typically much more efficient than comparing the values used to create them.
pub type Handle<T: Comparable>

impl<T: Comparable> Handle<T> {
  /// Value returns a shallow copy of the T value that produced the Handle.
  /// Value is safe for concurrent use by multiple goroutines.
  fn Value(self) -> T
}
