"Given two [[Comparable]] values, return smallest of the two. If exactly one of the given values violates the reflexivity requirement of [[Object.equals]] such that `x!=x`, then the other value is returned. In particular, if exactly one is an [[undefined `Float`|Float.undefined]], it is not returned. _On the JVM platform, for arguments of type `Integer` or `Float`, prefer [[Integer.smallest]] or [[Float.smallest]] in performance-sensitive code._" see (`interface Comparable`, `function largest`, `function min`, `function Integer.smallest`, `function Float.smallest`) tagged("Comparisons") shared Element smallest<Element>(Element x, Element y) given Element satisfies Comparable<Element> => if (x!=x || y<x) then y else x;