Reorganized inner imports
Use funcy as a dependency
timeout now comes as a first arg in @cached_as() and @cached()

However, using keyword arguments is recommended.