Why not use a copy constructor.  There's almost no data in the AsChainLink anyway.