title: Iterate over normal functions and promises
body: <pre><code>Object.prototype.modify = function(modifications,prop){
    modifications.forEach(modifier =&gt; {
       this[prop] = modifier(this[prop])
    })
  }
  
  function removeLastName(str){
    return str.split(' ')[0]
  }
  
  function upperCase(str){
    return str.toUpperCase()
  }
  
  function translate(str){
    return new Promise((resolve,reject) =&gt; {
        setTimeout( _ =&gt; resolve(str+"translated"),1000)
    })
  }
  
  function prepareUser(user){
    user.modify([removeLastName,upperCase],'name')
    // user.modify([removeLastName,upperCase,trans],'name') 
    return user
  }
  
  var user = {
    name: "simon madsen"
  }
  
  console.log(prepareUser(user));
  </code></pre>
  
  <p>Hello, how I can get my modify function to use normal functions and functions that return a promise. Without having all my modifications functions returning promises, and without my modify function to return a promise.</p>