Ignore ./webencoding and *.so
Use traits and enuminstead of types for the API.