public FEELFnResult<Boolean> invoke(@ParameterName("list") List list, @ParameterName("element") Object element) {
        if ( list == null ) {
            return FEELFnResult.ofError(new InvalidParametersEvent(Severity.ERROR, "list", "cannot be null"));
        }
        if (element == null) {
            return FEELFnResult.ofResult(list.contains(element));
        }
        Object e = NumberEvalHelper.coerceNumber(element);
        boolean found = false;
        ListIterator<?> it = list.listIterator();
        while (it.hasNext() && !found) {
            Object next = NumberEvalHelper.coerceNumber(it.next());
            found = itemEqualsSC(e, next);
        }
        return FEELFnResult.ofResult(found);
    }
@Test
    void invokeContains() {
        FunctionTestUtil.assertResult(listContainsFunction.invoke(Arrays.asList(1, 2, "test"), "test"), true);
        FunctionTestUtil.assertResult(listContainsFunction.invoke(Arrays.asList(1, 2, "test"), 1), true);
        FunctionTestUtil.assertResult(listContainsFunction.invoke(Arrays.asList(1, 2, "test"), BigDecimal.ONE), true);
    }