anchor.diff:  
                       match ptdT.GetConstructors(bindAll) |> Seq.tryPick (function :? ProvidedConstructor as pc when pc.IsTypeInitializer -> Some pc | _ -> None) with
                       | None -> ()
  +                    | Some _ when ptdT.IsInterface ->
  +                        failwith "The provided type definition is an interface; therefore, it may not provide constructors."
                       | Some pc ->
                           let cb = ctorMap.[pc]
                           let ilg = cb.GetILGenerator()
  
positive.code:                             [ for v in parameterVars -> Expr.Var v ]
  
                          match pminfo.GetInvokeCode with
                          | Some invokeCode ->
                              let expr = invokeCode parameters
  
  
negative.code:                 match methodBaseT with
                  | :? ProvidedMethod as mT when (match methodBaseT.DeclaringType with :? ProvidedTypeDefinition as pt -> pt.IsErased | _ -> true) ->
                      match mT.GetInvokeCode with
                      | Some _ when methodBaseT.DeclaringType.IsInterface ->
                          failwith "The provided type definition is an interface; therefore, it should not define an implementation for its members."
                      | Some _ when mT.IsAbstract ->
                          failwith "The provided method is defined as abstract; therefore, it should not define an implementation."
                      | None when not mT.IsAbstract ->
                          failwith "The provided method is not defined as abstract; therefore it should define an implementation."
                      | Some invokeCode ->
                          let exprT = invokeCode(Array.toList parametersT)
                          check exprT
                      | None -> <@@ () @@>
  
                  | :? ProvidedConstructor as mT when (match methodBaseT.DeclaringType with :? ProvidedTypeDefinition as pt -> pt.IsErased | _ -> true) ->
                      if methodBaseT.DeclaringType.IsInterface then
                          failwith "The provided type definition is an interface; therefore, it should not define any constructors."
                      else
                          let exprT = mT.GetInvokeCode(Array.toList parametersT)
                          check exprT
  
                  // Otherwise, assume this is a generative assembly and just emit a call to the constructor or method
                  | :?  ConstructorInfo as cinfoT ->
  