I don't know if this helps, but wouldn't 
    
    
    type Container[T] = concept c
      type T = type(get(c, 0))
    

be more natural? Plus we could extend it to allow static parameters 
    
    
    type Container[N,T] = concept c
      const N = c.len
      type T = type(get(c, 0))
    

Reply via email to