https://mysteryweevil.medium.com/deep-dive-into-javascript-prototypes-and-the-instanceof-operator-8fc3f6392d9c