pragma abicoder v2;

library L {
    function reverse(bytes calldata _b) internal pure returns (bytes1, bytes1) {
        return (_b[1], _b[0]);
    }
}

contract C {
    using L for bytes;

    function test(uint, bytes calldata _b, uint) external pure returns (bytes1, bytes1) {
        return _b.reverse();
    }
}

// ----
// test(uint256,bytes,uint256): 7, 0x60, 4, 2, "ab" -> "b", "a"
