<!--
title: Prioritize tokenizer simplicity
domain: ml-systems
topic: AI
language: TypeScript
source: huggingface/tokenizers
updated: 2023-05-17
url: https://awesomereviewers.com/reviewers/tokenizers-prioritize-tokenizer-simplicity/
-->

When implementing AI model components like tokenizers, favor simplicity over rarely-used features that significantly increase code complexity. This is especially important for performance-critical paths in machine learning pipelines. Consider removing or deferring implementation of features that:
1. Require complex argument parsing
2. Are used only in specialized cases
3. Introduce significant maintenance burden

Example:
```typescript
// AVOID: Complex implementation with rarely-used features
let encodeBatch = promisify(tokenizer.encodeBatch.bind(tokenizer));
var output = await encodeBatch(
    [["Hello, y'all!", "How are you 😁 ?"], ["Hello to you too!", "I'm fine, thank you!"]]
);

// BETTER: Simplified implementation focusing on core functionality
var output = await tokenizer.encodeBatch(["Hello, y'all!", "How are you 😁 ?"]);
```

This approach helps maintain performance in AI inference paths while keeping the codebase maintainable. Features can always be added later when there's a clear need and sufficient time for proper implementation.
