anchor.diff:              | _ ->
                   let sourceType = source.GetType ()
                   toString sourceType source :> obj
  +        elif destType = typeof<Symbol> then
  +            match source with
  +            | null -> Molecule [] :> obj
  +            | _ -> toSymbol destType source :> obj
           else
               let sourceType = source.GetType ()
               if destType = sourceType then source
  
positive.code:             | Quote _ -> failwith "Expected Symbol.Atom for conversion to string."
              | Molecule _ -> failwith "Expected Symbol.Atom for conversion to string."
          elif destType = typeof<Symbol> then
              symbol :> obj
          else
              match destType.TryGetCustomTypeConverter () with
  
negative.code:         Symbol.toString symbol
  
      let rec fromSymbol (destType : Type) (symbol : Symbol) =
          if symbol = Molecule [] then
              // kind of a weird special-case when .NET type converters throw null at us for no
              // seeming reason
              null
          elif destType.IsPrimitive then
              match symbol with
              | Atom str -> (TypeDescriptor.GetConverter destType).ConvertFromString str
              | Quote _ -> failwith "Expected Symbol.Atom for conversion to string."
  