Mainly passing in complex hints, which contain objects with self-references