code: def defaultBuilder(value, nt):
      
      if callable(value):
          def logbuilder(V):
              try:
                  value(V)
              except:
                  _log.exception("Error in Builder")
                  raise  # will be logged again
          return logbuilder
  
      def builder(V):
          try:
              if isinstance(value, Value):
                  V[None] = value
              elif isinstance(value, dict):
                  for k, v in value.items():
                      V[k] = v
              else:
                  nt.assign(V, value)
          except:
              _log.exception("Exception in Put builder")
              raise  # will be printed to stdout from extension code.
      return builder
docs: Reasonably sensible default handling of put builder