@Override
    public Optional<FunctionDefinition> getFunctionDefinition(String name) {
        final String normalizedName = name.toUpperCase(Locale.ROOT);
        return Optional.ofNullable(normalizedFunctions.get(normalizedName));
    }
@Test
    void testGetFunction() {
        assertThat(CoreModule.INSTANCE.getFunctionDefinition("CAST"))
                .hasValueSatisfying(
                        def ->
                                assertThat(def)
                                        .asInstanceOf(type(BuiltInFunctionDefinition.class))
                                        .extracting(BuiltInFunctionDefinition::getQualifiedName)
                                        .isEqualTo("$CAST$1"));
    }