 }
 
 extension ClassInfo {
+  func create() -> Any {
+    return create(args: [:], x: Context.GLOBAL)
+  }
+  func create(x: Context) -> Any {
+    return create(args: [:], x: x)
+  }
+  func create(args: [String:Any?]) -> Any {
+    return create(args: args, x: Context.GLOBAL)
+  }
+
   func ownAxioms<T>(byType type: T.Type) -> [T] {
     var axs: [T] = []
     for axiom in ownAxioms {

  func hasOwnProperty(_ o: FObject) -> Bool
  func clearProperty(_ o: FObject)
}

extension PropertyInfo {
  public func toJSON(outputter: Outputter, out: inout String, value: Any?) {

    }
    return axs
  }
}

public protocol Detachable {
