CxxStdlib should be immutable so remove writer methods
type is guaranteed to be a symbol by the factory method
Use polymorphism to simplify stdlib compatibility check