testing all except custom

also cleaned up infra, and added `like` method to better detect circular refs