presto-main/src/main/java/io/prestosql/metadata/PolymorphicScalarFunctionBuilder.java/PolymorphicScalarFunctionBuilder/argumentProperties
class PolymorphicScalarFunctionBuilder:        public ChoiceBuilder argumentProperties(ArgumentProperty... argumentProperties)
        {
            requireNonNull(argumentProperties, "argumentProperties is null");
            checkState(this.argumentProperties == null,
                    "The `argumentProperties` method must be invoked only once, and must be invoked before the `implementation` method");
            this.argumentProperties = ImmutableList.copyOf(argumentProperties);
            return this;
        }