I'm assuming this is initialized to two because one reference is the AsChain itself (so gets decremented when request_destroy is called) and one is for the first AsChainLink created at the same time.  It's slightly less efficient, but I think it would be clearer to initialise to one here, and then call inc_ref from the AsChainLink constructor.