A function model represents the model of a Ceylon function that you can inspect.

A function model can be either a toplevel `Function`, a CallableConstructor (`callable constructor`) of a toplevel Class, a member `Method` or CallableMemberConstructor (`callable constructor`) of a member class.

no type hierarchy

- `FunctionModel`
  - `Functional`
  - `Generic`
  - `Model`
    - `Declared`

- `FunctionModel`
  - `CallableConstructor`
  - `Function`
  - `MemberClassCallableConstructor`
  - `Method`

Attributes
`declaration` | Source Code `shared formal NestableDeclaration&FunctionalDeclaration declaration` This function's declaration. Refines `Model.declaration` ultimately refines `Declared.declaration`
`type` | Source Code `shared formal ClosedType<Type> type` This function's return closed type.

Inherited Attributes
Attributes inherited from: `Object` `hash`, `string`
Attributes inherited from: `Declared` `container`, `declaration`
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()`