JZ: Switch to create_instance + first test commit

Give users freedom to handle exceptions by using `create_instance`
instead of clobbering them with `safe_create_instance`