fibonnaci, factorial, curry, uncurry, polymorphic scala functions