This demonstrates how to write a function with the wrapper. Note that you must not include Init if you're not calling the nested wrapper function.
Put the common functionality for those types in there.