Cup with extend and extend_source || polyfill