code: func NewUserTypesWriter(filename string) (*UserTypesWriter, error) {
  	file, err := codegen.SourceFileFor(filename)
  	if err != nil {
  		return nil, err
  	}
  	return &UserTypesWriter{
  		SourceFile: file,
  		Finalizer:  codegen.NewFinalizer(),
  		Validator:  codegen.NewValidator(),
  	}, nil
  }
docs: // NewUserTypesWriter returns a contexts code writer.
  // User types contain custom data structured defined in the DSL with "Type".