since the passed in errorType could be a custom user function, we instead detect if its an instanceof Error by using a Surrogate (inspired by Backbone's use of surrogacy)
since the passed in errorType could be a custom user function, we instead detect if its an instanceof Error by using a Surrogate (inspired by Backbone's use of surrogacy)