static void test(Either <int, string> e, char expected) { var result = Option <char> .None; Act <int> leftFolder = i => result = i.ToString()[0].some(); Act <string> rightFolder = s => result = s[0].some(); e.voidFold(leftFolder, rightFolder); result.shouldBeSome(expected); }