public PublicKeychain Derive(KeyPath derivation)
 {
     PublicKeychain result = this;
     return derivation.Indexes.Aggregate(result, (current, index) => current.Derive(index));
 }
 public KeyPath Derive(KeyPath derivation)
 {
     return new KeyPath(
         _Indexes
         .Concat(derivation._Indexes)
         .ToArray());
 }