### Typing Methods

The question is which type would be return by the method f and if a function and object has the same name then how can it be resolved.

So another mapping function M is introduced for methods given as:

M(C,f)=[T_{1}, T_{2}...T_{n}, T_{n+1}], here C is the class of the function f and T_{1}...T_{n} is the argument of the function and T_{n+1} is the result type of the function.
so f(x1:T1, x2:T2.. xn:Tn):T_{n+1}

So the method dispatch can be written as:

For static dispatch see video from 4:35 minute.

[II]

In most cases typing methods are passed but only used in the case of dispatch.

In COOOL the ful type environment has three elements O, M, C where C is the Class.