Initial project
test for simple constructors containing only system types
add checking for more complex types
extract the tracing out and make it turn-offable
deal with interfaces
fix naming
deal with generic interfaces