Restructure `CompiledFunction.compile()` so it does not get dropped
Prefer `get::<T>` to `::get::<T>` or `get_type::<T>`
Add lots more macros
Export all definitions from `function`
Use type safety for checking if Function is compiled
Derive enums from Copy and simplify function compilation and calling API
Allow missing copy implementations
Increment version