Hi!
This fails:
new[] { "ab" }.Should().Equal("ab");
this is OK:
new[] { "ab" }.Should().Equal(new[] { "ab" });
This happens because Equal has overload that takes IEnumerable and string is treated as a sequence of characters.
It should be possible to make Equal generic (same was as assertion methods in xUnit.Net)
void Equal<T>(params T[] values);
void Equal<T>(IEnumerable<T> values);