F# allow existing types to be extended with new static functions.
type System.String with
static member EqualsCaseInsensitive (a, b) = String.Equals(a, b, StringComparison.OrdinalIgnoreCase)
This new function can be invoked like this:
let x = String.EqualsCaseInsensitive("abc", &...