Just a minor concern here, but if a smooth really comprises multiple "sub-smoothes", wouldn't the user usually want to retrieve all matrices belonging to one sub-smooth together? Does it make sense to "tear apart" bases and penalties across sub-smoothes?