self needed to be a mutable pointer and we also needed to specify that the lifetime of the returned object is at least the lifetime of self so thats the point behind the fn having a `<'a>` on it so we can specify that. Also, the node that is passed it, I removed the &mut since having a bare struct means it will use move semantics and just move the node rather than copy it if possible. The person that made the original TrieRouterNode probably never needs it later so lets just move it into the SmallIntMap