looks horrible, please use deep_copy instead. eval is really unintuitive that you want actually copy value...and if value is boolean, the no deep copy is needed.