configurable hasMany type