And how does your library determine whether the string '01/02/03' corresponds to the date Feb 01 2003 or Jan 02 2003 or Feb 03 2001?
From the go sources: the locale information for a system is retrieved, so it does actually the same or similar as ScanDateTime() does with formatsettings and fails on every single example where ScanDateTime also fails.
(I tried some of the above and all 1-2,2-1,3-2,2-3.....11-12 pairs: they pass only based on matching the locale info, other options are ignored)
So the whole project adds no value over ScanDateTime at all, in contrast to what OP writes.
I think he was simply not familiar with this function or its functionality.
Note I tested only the go lib, not the pascal version, because I first wanted to test the source before testing the derivative.