js 实现 immutable

想到一种利用Proxy实现immutable的方法,非常简单,不知道为什么其他库那么大?

function immutable(source) {  
    return new Proxy(source,{
        get:function(target,key){
            try{
                return immutable(target[key]);
            }catch(e){
                return target[key];
            }
        },set:function(){}
    });
}

https://github.com/chairuosen/my-immutable-js