Most functions are incorrect for calendars other than Calendar.ISO
Most functions in Timex manipulate the Elixir data structures directly. In doing so, they assume a lot about the underlying calendar - in most cases the functions would just not work for anything other than Calendar.ISO. The prime example would be Timex.shift/2.
Timex should either amend those functions to be correct in case they are called with other calendars, or pattern match on the value and document the functions to only work with Calendar.ISO.
I believe it is documented somewhere that Timex only targets the ISO calendar, but to be fair, that's a legacy thing, before Elixir added support for other calendars.
I'll have to take a look at the Calendar behavior to see what functions exist, and whether things can be ported to support arbitrary calendars, but I suspect that may be non-trivial since shifting in particular is not something supported in the standard library yet, and it is inherently very complex. Hopefully it's not a big change though. I plan to remove all duplication with the standard library in the next major release, so that will reduce the surface area considerably.