is it important that we freeze this function? our end goal is to unregister the watch and not make the parse function cachable.