# I'm trying to do this struct CANProxy; impl CANProxy { fn register<T: ReadOnlyThread>(&mut self, thread: T) { } fn register<T: ReadWriteThread>(&mut self, thread: T) { } Is there a way to do this? Or should I just define different methods