Get the native JavaScript type of a value, preceded by the appropriate indefinite article (either `a` or `an`), for use in error messages.
MIT License
Is the typeof value a javascript primitive?
Does a shallow comparison of two objects, returning false if the keys or values differ.