pub fn match(pl: PatternList, ms: MacroSlicer) Error!?Impl
pub fn match(pl: PatternList, ms: MacroSlicer) Error!?Impl { for (pl.patterns) |pattern| if (pattern.matches(ms)) return pattern.impl; return null; }