-record(matcher, { run :: fun((any(), binary(), binary()) -> chomp@lexer:match(any(), any())) }).