Given that Send is autoimplemented for things that should be Send, this is a strong indication towards your code attempting to send actually not-thread-safe things across threads (things containing borrowed references or Rc<T>)
The error message does drill down and tell you the actual type causing the lack of Send impl.
The only time you have to manually impl Send is for custom container types that are built from raw primitives.
I like templates, because to date there is not a popular language that can do compile time stuff it can do. And no joke, some of the stuff you can do is quite amazing.