Suggestions for gates
The following packages have something in common with the package gates. The packages are ordered in decreasing similarity.
- commado: Expandable iteration on comma-separated and filename lists
 - arrayjobx: Array data structures for (La)TeX
 - arrayjob: Array data structures for (La)TeX
 - dowith: Apply a command to a list of items
 - fenixpar: One-shot changes to token registers such as \everypar
 - multido: A loop facility for Generic TeX
 - gobble: More gobble macros for PlainTeX and LaTeX
 - multiexpand: Variations on the primitive command \expandafter
 - gtl: Manipulating generalized token lists
 - plainpkg: A minimal method for making generic packages
 - localloc: Macros for localizing TeX register allocations
 - pdftexcmds: LuaTeX support for pdfTeX utility functions
 - ltxcmds: Some LaTeX kernel commands for general use
 - collargs: Collect arguments of any command
 - etoolbox-generic: A loader for etoolbox.sty in non-LaTeX formats
 - advice: Extend commands and environments
 - bitelist: Split list, in TeX’s mouth
 - midnight: A set of useful macro tools
 - repeat: Repeat execution of macros
 - ifxptex: Detect pTeX and its derivatives
 - balancedquotes: Code balanced quotes according to document language
 - compare: Compare two strings
 - patch: Patch loaded packages, etc.
 - texapi: Macros to write format-independent packages
 - lambda-lists: Lists in TeX's mouth
 - catcodes: Generic handling of TeX category codes
 - expkv-cs: Define expandable key=val macros using expkv
 - expkv-bundle: An expandable key=val implementation and friends
 - tokcycle: Build tools to process tokens from an input stream
 - fixjfm: Fix JFM (for *pTeX)
 - interpreter: Translate input files on the fly