simplify the api to make everything explicit, and remove the need to dyn...

What do you think about this idea for simplifying the api to make everything explicit, and remove the need to dynamically generate constructors?