Uses three different ruby schema gems to be as precise as possible
>= 0
Georg Leciejewski, Tim Becker