Added new.instance(class, dict).
diff --git a/Modules/newmodule.c b/Modules/newmodule.c
index afe3092..0591d3c 100644
--- a/Modules/newmodule.c
+++ b/Modules/newmodule.c
@@ -27,6 +27,31 @@
 #include "allobjects.h"
 #include "compile.h"
 
+static char new_instance_doc[] =
+"Create an instance object from (CLASS, DICT) without calling its __init__().";
+
+static object *
+new_instance(unused, args)
+	object* unused;
+	object* args;
+{
+	object* klass;
+	object *dict;
+	instanceobject *inst;
+	if (!newgetargs(args, "O!O!",
+			&Classtype, &klass,
+			&Dicttype, &dict))
+		return NULL;
+	inst = NEWOBJ(instanceobject, &Instancetype);
+	if (inst == NULL)
+		return NULL;
+	INCREF(klass);
+	INCREF(dict);
+	inst->in_class = (classobject *)klass;
+	inst->in_dict = dict;
+	return (object *)inst;
+}
+
 static char new_im_doc[] =
 "Create a instance method object from (FUNCTION, INSTANCE, CLASS).";
 
@@ -163,6 +188,7 @@
 }
 
 static struct methodlist new_methods[] = {
+	{"instance",		new_instance,		1, new_instance_doc},
 	{"instancemethod",	new_instancemethod,	1, new_im_doc},
 #if 0
 	{"function",		new_function,		1, new_function_doc},