So this is a problem... I was trying to make use of native Promises (if available) but native promises support only .then and .catch while a jQuery "Promise" supports .then, .fail and .done (and a few others) but not .catch.

I guess it's bad if the Promise .fetch() returns does not have a consistent interface!