infer_instance (first draft)