A callable constructor model represents the model of a Ceylon class constructor that you can invoke and inspect

## Callablity

As with `Function` you can also invoke a `CallableConstructor`, doing so instantiates an instance:

     shared class Foo {
         shared String name;
         shared new foo(String name) {
             this.name = name;
         }
     }

     void test() {
     Constructor<Foo,[String]> ctor = `Foo.foo`;
     // This will print: Stef
     print(ctor("Stef").name);

## Genericity

This class inherits `Generic` but a constructor in Ceylon cannot have a type parameters. For symmetry with `CallableConstructorDeclaration.apply()` the `Generic.typeArguments` and `Generic.typeArgumentList` refer to the type arguments of the constructor's class.

Since 1.2.0

no type hierarchy

- `CallableConstructor`
  - `Applicable`
    - `Callable`
  - `FunctionModel`
    - `Functional`
    - `Generic`
    - `Model`
      - `Declared`

no subtypes hierarchy

Attributes
`container` | Source Code `shared formal ClassModel<Type,Nothing>? container` The class containing this constructor; the type of instances produced by this constructor. Refines `Model.container` ultimately refines `Declared.container`
`declaration` | Source Code `shared formal CallableConstructorDeclaration declaration` This constructor's declaration. Refines `FunctionModel.declaration` ultimately refines `Declared.declaration`
`type` | Source Code `shared formal ClassModel<Type,Nothing> type` This function's return closed type. Refines `FunctionModel.type`

Inherited Attributes
Attributes inherited from: `Object` `hash`, `string`
Attributes inherited from: `Declared` `container`, `declaration`
Attributes inherited from: `FunctionModel<Type,Arguments>` `declaration`, `type`
Attributes inherited from: `Functional` `parameterTypes`
Attributes inherited from: `Generic` `typeArgumentList`, `typeArgumentWithVarianceList`, `typeArgumentWithVariances`, `typeArguments`
Attributes inherited from: `Model` `container`, `declaration`

Inherited Methods
Methods inherited from: `Object` `equals()`
Methods inherited from: `Applicable<Type,Arguments>` `apply()`, `namedApply()`