• 通常、引数や戻り値はそれに付随した型によって扱うべきであり、それ以外の型が使える可能性を求めるべきではない
  • 型アサーションが使用されるのは、具象型の裏にあるインタフェースが別のインタフェースを実装していないかどうかチェックする場合
  • デコレータパターンを使用して同じインタフェースの実装をラップし、多層化するのが一般的だが、ラップした実装の中のインタフェースは型アサーションや型switchでは検知することができないので注意
  • インタフェースの新たな実装の漏れをなくすために、型switchを使用する場合はdefaultを必ず入れる