anchor.diff:              | Quote _ -> failwith "Expected Symbol.Atom for conversion to string."
               | Molecule _ -> failwith "Expected Symbol.Atom for conversion to string."
           elif destType = typeof<Symbol> then
  +            // nothing to do when we want a symbol and already have it
               symbol :> obj
           else
               match destType.TryGetCustomTypeConverter () with
  
positive.code:             if sourceType <> targetType then
                  match source with
                  | :? string as sourceStr -> fromString targetType sourceStr
                  | _ -> failwith "Invalid SymbolicConverter conversion from string."
              else source
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."
  