Helper blocks dont show up unless "accepted as input" atleast once

This is the second time, I encounter this issue, suppose there's this:

  @SimpleFunction
  public @Options(State.class) int State() throws Exception {
     ...
  }

Here the "helper" blocks wouldnt actually appear, for them to appear, in atleast one method, I need to accept it as an argument (here, there's no need).

Suppose, I just add:

  @SimpleFunction
  public void Test(@Options(State.class) int state) {
     ...
  }

Only then it shows up.

A helper block is an argument, so it will appear when you declare it before a function argument. The first function only returns a value, so where would the helper block go? Unless I don't understand the question. In a function that returns a value, helper block declarations are added to make the return value compatible with the function argument before which the helper block is declared. But this method of adding a helper block is universal, and the function will accept both a helper block and a number block. You can also declare a helper block like this:

@SimpleFunction
  public void Test(State state) {
     ...
  }

or:

@SimpleFunction
  public State Test() throws Exception {
     ...
  }

Then the argument will only be compatible with the helper block.

The function returns numbers, like suppose
1 = Enabled, with the helper blocks being present, the user could compare like State() = Helper.Enabled