pub trait Intern { type Database: ?Sized; type ID; // Required method fn intern(self, db: &Self::Database) -> Self::ID; }