anchor.diff:              isTypeBlittable x ||
               ((x.GetTypeInfo().IsGenericType) && x.GetGenericTypeDefinition() = typedefof<list<_>> && isImmutableType (x.GenericTypeArguments.ElementAt(0))) ||
               x = typeof<string> -> 
  -                printfn "blittable: %A" typ
                   true
           | _ -> false
   
  
positive.code:         | _ -> //failwithf "Component, %s, has an invalid property type. Property Name: %s. Type: %s." typeof<'T>.Name meth.Name typ.Name
  
              let helperMethods = moduleType.GetRuntimeMethods ()
              let createCloneMeth = helperMethods |> Seq.find (fun x -> x.Name = "createCloneDynamicMethod")
  
              let generic = createCloneMeth.MakeGenericMethod ([|typ|])
              let ret = generic.Invoke (null, [||])
              let ret = ret :?> DynamicMethod
              Clone (ret, meth)
  
      let createSet (meth : MethodInfo) = meth
  
      let createCloneDynamicMethodByType (typ : Type) =
          if typ.IsAbstract then
              failwithf "Cannot create a clone method for an abstract type, %s." typ.Name
  
          if typ.IsValueType then
              failwithf "Cannot create a clone method for value type, %s." typ.Name
  
negative.code:             |> Seq.map (fun param ->
                  let propOpt =
                      runtimeProps 
                      |> Seq.tryFind (fun x -> x.Name.ToLowerInvariant() = param.Name.Replace("_", "").ToLowerInvariant() && x.PropertyType = param.ParameterType)
                  match propOpt with
                  | Some prop -> prop
                  | _ -> failwithf "Type, %s, has a constructor parameter that doesn't match a property with a getter. Parameter Name: %s. Parameter Type: %s." typ.Name param.Name param.ParameterType.Name
  