initialized to weakly taken