+ createArrowFunction,
+
+ /**
+ * Returns a new function which calls the provided function with its
+ * first argument as the `this` value and the remaining arguments
+ * passed through.
+ *
+ * The `length`, `name`, and prototype of the provided function will
+ * be preserved in the new one. A second argument may be used to
+ * override `length` and `name`.
+ *
+ * ※ This is effectively an alias for `Function::call.bind`.
+ */
+ createCallableFunction,
+
+ /**
+ * Returns a constructor which throws whenever it is called but has
+ * the same `.name` and `.prototype` as the provided value.
+ *
+ * The `length`, `name`, `prototype`, and prototype of the provided
+ * function will be preserved in the new one. A second argument may
+ * be used to override `length`, `name`, and `prototype`.
+ */
+ createIllegalConstructor,
+
+ /**
+ * Returns a constructor which produces a new constructor which wraps
+ * the provided constructor, but returns a proxy of the result using
+ * the provided handler.
+ *
+ * The resulting constructor inherits from, and has the same basic
+ * shape as, `Proxy`.
+ *
+ * If a base constructor is not provided, `Object` will be used.
+ *
+ * If a third argument is provided, it is used as the target for the
+ * provided constructor when it is constructed. This can be used to
+ * prevent leakage of the provided constructor to superclasses
+ * through `new.target`.
+ *
+ * The `length` of the provided function will be preserved in the new
+ * one. A fourth argument may be used to override `length` and
+ * `name`.
+ *
+ * ※ `.prototype` will be present, but undefined, on the resulting
+ * constructor. This differs from the behaviour of `Proxy`, for which
+ * `.prototype` is not present at all. It is not presently possible
+ * to create a constructor with no `.prototype` property in
+ * Ecmascript code.
+ */
+ createProxyConstructor,