* polish: skip creating extra reference for safely re-used node * reimplement using scope.maybeGenerateMemoised