pub fn select_builtin<'a>(
    lit: &Literal
) -> (SelectBuiltinResult, Option<&'a dyn BuiltinPredicate>)