static bool AttributesMatch(LNode candidate, LNode pattern, ref MMap<Symbol, LNode> captures, out VList<LNode> unmatchedAttrs) { if (pattern.HasPAttrs()) { unmatchedAttrs = LNode.List(); return ListMatches(candidate.Attrs, pattern.Attrs, ref captures, ref unmatchedAttrs); } else { unmatchedAttrs = candidate.Attrs; } return true; } static bool IsParamsCapture(LNode pattern)