Numeric
Adapted slightly from FSharpPlus, https://github.com/fsprojects/FSharpPlus/blob/master/LICENSE.md
Shrink<'T>
Shrink keeps a value and the possible shrinks for that value in an n-ary tree. This tree is explored by the test runner to find a smaller value of a counter-example.