module Ivar::Checked::InstanceMethods

def initialize(*args, **kwargs, &block)

3. Checking instance variables for validity
1. Processing manifest declarations before calling super
This method handles the initialization process, including:
Wrap the initialize method to automatically call check_ivars
def initialize(*args, **kwargs, &block)
  if @__ivar_skip_init
    super
  else
    @__ivar_skip_init = true
    manifest = Ivar.get_or_create_manifest(self.class)
    manifest.process_before_init(self, args, kwargs)
    super
    check_ivars
  end
end