== Compliant Solution

----
interface IVehicle { void Go(); }
public class Submarine : IVehicle 
{ 
  public void Go() {  /* ... */ }
  public void Submerge(int depth) { /* ... */ }
}

// ...
public void Travel(IVehicle transport)
{
  transport.Go();
}

public void ExploreDepths(Submarine transport)
{
  var depth = 0;
  // ...
  transport.Submerge(depth);
}
----
