use a partial of set_assoc instead of anonymous func