title: Error: Invalid or missing identifier for Type in namespace
body: <p>When I try to call a transaction on an asset that is inherited from a abstract base class asset, the call fails with <code>Error: Invalid or missing identifier for Type &lt;type&gt; in namespace &lt;name.spa.ce&gt;</code></p>
  
  <p><strong>user.cto</strong></p>
  
  <pre><code>namespace com.aczire.alm.base.user
  
  import com.aczire.alm.base.*
  
  abstract participant User {
    o String uid
    o String title optional
    o String firstName  optional
    o String lastName  optional
    o UserTransactionLogEntry[] logEntries
  }
  
  concept UserTransactionLogEntry {
    //--&gt; User modified_by
    o String comment optional
    o DateTime timestamp
  }
  
  abstract transaction UserTransaction  {
    o String comment
  }
  
  abstract event UserTransactionEvent {
    o String comment
  }
  </code></pre>
  
  <p><strong>admin.cto</strong></p>
  
  <pre><code>namespace com.aczire.alm.base.user.admin
  
  import com.aczire.alm.base.*
  import com.aczire.alm.base.user.*
  
  participant Admin identified by uname extends User {
    o String uname
  }
  
  abstract transaction AdminUserTransaction extends UserTransaction {
    o Admin user
    --&gt; Admin modified_by
  }
  
  abstract event AdminUserTransactionEvent extends UserTransactionEvent {
    --&gt; Admin user
    --&gt; Admin modified_by  
  }
  
  transaction CreateUser extends AdminUserTransaction {
  }
  </code></pre>
  
  <p><strong>admin.js</strong></p>
  
  <pre><code>/**
   * Create a User
   * @param {com.aczire.alm.base.user.admin.CreateUser} createUser - the CreateUser transaction
   * @transaction
   */
  function createUser(newuser) {
      console.log('createUser');
  
      var factory = getFactory();
      var NS_AU = 'com.aczire.alm.base.user.admin';
  
      var user = factory.newResource(NS_AU, 'Admin', newuser.uname);
      user.uid = newuser.uid;
  
      // save the order
      return getAssetRegistry(NS_AU)
          .then(function (registry) {
              return registry.add(user);
          })
          .then(function(){
              var userCreatedEvent = factory.newEvent(NS_AU, 'UserCreatedEvent');
              userCreatedEvent.user = user;
              userCreatedEvent.comment = 'Created new admin user - ' + newuser.uname + '!';
              emit(userCreatedEvent);
          });
  }
  </code></pre>
  
  <p>I tried making the parameters to the TP as User, Admin; moving the transaction arguments to base class as <strong>User</strong> type; moving the transaction to the base class etc.. But nothing seems to work.</p>
  
  <p>Does the inheritance works differently here?</p>
  
  <p>Error shown in composer playground.
  <a href="https://i.stack.imgur.com/1gdAS.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/1gdAS.png" alt="enter image description here"></a></p>