I think `unicode` being a hard dependency was more the result of an accident than a deliberate move.  And unfortunately, its consequences were felt quickly and we removed it in the very next release.  But, `unf` does require a C extension when you're not on JRuby.  The gem has two different gemspecs and doesn't rely on the extension when installed on JRuby.