by windliang @wind-liang
Implement a generic Fibonacci<T> takes an number T and returns it's corresponding Fibonacci number.
The sequence starts: 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, ...
For example
type Result1 = Fibonacci<3> // 2
type Result2 = Fibonacci<8> // 21