type erasure example