Thoughts on this are appreciated, not sure if this has been brought up prior:
I noticed that it was suggested in the lesson to use std::shared_ptr<T> for influenced_by in the human class.
This is not a great design habit, as this could create circular dependency (and memory leaks).
I attempted to use std::weak_ptr<T>, which was not acceptable.
I feel like if we are learning about shared and unique smart pointers here, weak pointers should also be included at the same time; to teach good habits.