Fix heterogeneous values + remove IJsonDocument parameters + add test